ScrollableControl.AutoScrollMargin プロパティ

定義

自動スクロールのマージンのサイズを取得または設定します。Gets or sets the size of the auto-scroll margin.

public:
 property System::Drawing::Size AutoScrollMargin { System::Drawing::Size get(); void set(System::Drawing::Size value); };
public System.Drawing.Size AutoScrollMargin { get; set; }
member this.AutoScrollMargin : System.Drawing.Size with get, set
Public Property AutoScrollMargin As Size

プロパティ値

自動スクロールのマージンの高さと幅をピクセル単位で表す SizeA Size that represents the height and width of the auto-scroll margin in pixels.

例外

代入された Height または Width の値が 0 未満です。The Height or Width value assigned is less than 0.

次のコード例では、派生クラスPanelを使用します。The following code example uses the derived class, Panel. この例では、テキストボックスの位置を評価し、その親コンテナーである panel コントロールの外観と動作を変更します。The example evaluates the location of a text box and changes the appearance and behavior of its parent container, the panel control. この例では、 Panel TextBoxコントロール、、およびButtonのインスタンスを作成しておく必要があります。The example requires that you have created an instance of a Panel control, TextBox, and Button. パネルにテキストボックスを配置して、少なくとも1つのパネルの端と重なるようにします。Place the text box on the panel so that it overlaps at least one of the panel's edges. ボタンをクリックして、パネルの動作と外観の違いを確認します。Call this function on the click of a button to see the difference in the panel's behavior and appearance.

void SetAutoScrollMargins()
{
   /* If the text box is outside the panel's bounds, 
          turn on auto-scrolling and set the margin. */
   if ( text1->Location.X > panel1->Location.X || text1->Location.Y > panel1->Location.Y )
   {
      panel1->AutoScroll = true;

      /* If the AutoScrollMargin is set to less 
                than (5,5), set it to 5,5. */
      if ( panel1->AutoScrollMargin.Width < 5 || panel1->AutoScrollMargin.Height < 5 )
      {
         panel1->SetAutoScrollMargin( 5, 5 );
      }
   }
}
private void SetAutoScrollMargins()
 {
    /* If the text box is outside the panel's bounds, 
       turn on auto-scrolling and set the margin. */  
    if (text1.Location.X > panel1.Location.X || 
       text1.Location.Y > panel1.Location.Y)
    {
       panel1.AutoScroll = true;
       /* If the AutoScrollMargin is set to less 
          than (5,5), set it to 5,5. */
       if( panel1.AutoScrollMargin.Width < 5 || 
          panel1.AutoScrollMargin.Height < 5)
       {
          panel1.SetAutoScrollMargin(5, 5);
       }
    }
 }
 
Private Sub SetAutoScrollMargins()
    ' If the text box is outside the panel's bounds,
    ' turn on auto-scrolling and set the margin. 
    If (text1.Location.X > panel1.Location.X) Or _
        (text1.Location.Y > panel1.Location.Y) Then
        panel1.AutoScroll = True
        ' If the AutoScrollMargin is set to less
        ' than (5,5), set it to 5,5. 
        If (panel1.AutoScrollMargin.Width < 5) Or _
            (panel1.AutoScrollMargin.Height < 5) Then
            
            panel1.SetAutoScrollMargin(5, 5)
        End If
    End If
End Sub

注釈

自動スクロールのマージンは、子コントロールと、スクロール可能な親コントロールの端との距離です。The auto-scroll margin is the distance between any child controls and the edges of the scrollable parent control. スクロールバーが必要かどうかを判断するために、スクロール可能なコントロールに含まれるすべての子コントロールのサイズにサイズが追加されます。AutoScrollMarginThe AutoScrollMargin size is added to the size of any child controls contained in the scrollable control to determine whether or not scroll bars are needed. AutoScrollMarginプロパティは、親のスクロール可能なコントロールのサイズが変更されるか、個々の子コントロールが表示されるときに評価され、スクロールバーを表示する必要があるかどうかを判断するために使用されます。The AutoScrollMargin property is evaluated when the parent scrollable control is resized or the individual child controls are brought into view, and is used to determine if scroll bars must be displayed. ドッキングされたコントロールは、スクロールバーを表示する必要があるかどうかを決定する計算から除外されます。Docked controls are excluded from the calculations that determine if scroll bars must be displayed.

注意

ドッキングされたコントロールDockのプロパティがにDockStyle.Fill設定されている場合、コントロールは、スクロールバーが必要かどうかAutoScrollMarginを判断するためにを使用するときに、親のスクロール可能なコントロールを塗りつぶし、ドッキングされたコントロールを無視します。If a docked control's Dock property is set to DockStyle.Fill, the control fills the parent scrollable control and the docked control is ignored when using the AutoScrollMargin to determine whether scroll bars are needed.

子コントロールの端から親のスクロール可能なコントロールまでの距離が、 AutoScrollMarginプロパティAutoScrollに割り当てられた値よりも小さく、プロパティがにtrue設定されている場合は、適切なスクロールバーが表示されます。If the distance from the edge of a child control to the parent scrollable control is less than the value assigned to the AutoScrollMargin property and the AutoScroll property is set to true, the appropriate scroll bar is displayed.

注意

スクロール可能なコントロール内でコントロールをドッキングする場合はPanel、スクロールが必要なその他のコントロールを格納するために、などの子のスクロール可能なコントロールを追加することをお勧めします。We recommend, when docking controls within a scrollable control, that you add a child scrollable control, such as a Panel, to contain any other controls that might require scrolling. Panelコントロールをスクロール可能なコントロールに追加し、そのDockプロパティをにDockStyle.Fill設定しAutoScroll 、そのプロパティtrueをに設定する必要があります。You should add the child Panel control to the scrollable control and its Dock property set to DockStyle.Fill and its AutoScroll property set to true. スクロール可能な親AutoScrollコントロールのプロパティをにfalse設定する必要があります。You should set the AutoScroll property of the parent scrollable control to false.

適用対象

こちらもご覧ください