Control.BackColor プロパティ


コントロールの背景色を取得または設定します。Gets or sets the background color for the control.

 virtual property System::Drawing::Color BackColor { System::Drawing::Color get(); void set(System::Drawing::Color value); };
public virtual System.Drawing.Color BackColor { get; set; }
member this.BackColor : System.Drawing.Color with get, set
Public Overridable Property BackColor As Color



コントロールの背景色を表す ColorA Color that represents the background color of the control. 既定値は DefaultBackColor プロパティの値です。The default is the value of the DefaultBackColor property.

BackColorコントロールのとを既定のシステムカラーに設定するコード例を次に示し ForeColor ます。The following code example sets the BackColor and ForeColor of the controls to the default system colors. コントロールに子コントロールがある場合、コードは再帰的にそれ自体を呼び出します。The code recursively calls itself if the control has any child controls. このコード例では、少なくとも1つの子コントロールを持つを持っている必要があり Form ます。ただし、またはのような子コンテナーコントロールは、 Panel GroupBox 独自の子コントロールを持つことで、再帰をより適切に示すことができます。This code example requires that you have a Form with at least one child control; however, a child container control, like a Panel or GroupBox, with its own child control(s) would better demonstrate the recursion.

   // Reset all the controls to the user's default Control color.
   void ResetAllControlsBackColor( Control^ control )
      control->BackColor = SystemColors::Control;
      control->ForeColor = SystemColors::ControlText;
      if ( control->HasChildren )
         // Recursively call this method for each child control.
         IEnumerator^ myEnum = control->Controls->GetEnumerator();
         while ( myEnum->MoveNext() )
            Control^ childControl = safe_cast<Control^>(myEnum->Current);
            ResetAllControlsBackColor( childControl );
// Reset all the controls to the user's default Control color. 
private void ResetAllControlsBackColor(Control control)
   control.BackColor = SystemColors.Control;
   control.ForeColor = SystemColors.ControlText;
      // Recursively call this method for each child control.
      foreach(Control childControl in control.Controls)
' Reset all the controls to the user's default Control color. 
Private Sub ResetAllControlsBackColor(control As Control)
   control.BackColor = SystemColors.Control
   control.ForeColor = SystemColors.ControlText
   If control.HasChildren Then
      ' Recursively call this method for each child control.
      Dim childControl As Control
      For Each childControl In  control.Controls
      Next childControl
   End If
End Sub


プロパティは、 BackColor SupportsTransparentBackColor の値 System.Windows.Forms.ControlStyles がに設定されていない限り、透明色をサポートしません trueThe BackColor property does not support transparent colors unless the SupportsTransparentBackColor value of System.Windows.Forms.ControlStyles is set to true.

BackColorプロパティはアンビエントプロパティです。The BackColor property is an ambient property. アンビエントプロパティは、設定されていない場合、親コントロールから取得されるコントロールプロパティです。An ambient property is a control property that, if not set, is retrieved from the parent control. たとえば、既定では、は Button BackColor その親と同じになり Form ます。For example, a Button will have the same BackColor as its parent Form by default. アンビエントプロパティの詳細については、 AmbientProperties クラスまたはクラスの概要に関するトピックを参照してください ControlFor more information about ambient properties, see the AmbientProperties class or the Control class overview.

注意 (継承者)

派生クラスのプロパティをオーバーライドする場合は BackColor 、基本クラスのプロパティを使用して BackColor 基本実装を拡張します。When overriding the BackColor property in a derived class, use the base class's BackColor property to extend the base implementation. それ以外の場合は、すべての実装を指定する必要があります。Otherwise, you must provide all the implementation. プロパティのアクセサーとアクセサーの両方をオーバーライドする必要はありません get set 。必要な場合は、 BackColor 1 つだけをオーバーライドできます。You are not required to override both the get and set accessors of the BackColor property; you can override only one if needed.