Control.BackColor プロパティ

定義

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

public:
 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 が必要です。ただし、PanelGroupBoxのように、独自の子コントロールを持つ子コンテナーコントロールは、再帰のデモンストレーションをより適切に行うことができます。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.
private:
   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;
   if(control.HasChildren)
   {
      // Recursively call this method for each child control.
      foreach(Control childControl in control.Controls)
      {
         ResetAllControlsBackColor(childControl);
      }
   }
}
' 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
         ResetAllControlsBackColor(childControl)
      Next childControl
   End If
End Sub

注釈

BackColor プロパティは、System.Windows.Forms.ControlStylesSupportsTransparentBackColor 値が trueに設定されていない限り、透明色をサポートしません。The 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 は、既定では親 Form と同じ BackColor を持ちます。For example, a Button will have the same BackColor as its parent Form by default. アンビエントプロパティの詳細については、AmbientProperties クラスまたは Control クラスの概要を参照してください。For 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. BackColor プロパティの getset の両方のアクセサーをオーバーライドする必要はありません。必要に応じて、オーバーライドできるのは1つだけです。You are not required to override both the get and set accessors of the BackColor property; you can override only one if needed.

適用対象

こちらもご覧ください