Control.ForeColor プロパティ

定義

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

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

プロパティ値

コントロールの前景の ColorThe foreground Color of the control. 既定値は DefaultForeColor プロパティの値です。The default is the value of the DefaultForeColor 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

注釈

ForeColor プロパティはアンビエントプロパティです。The ForeColor 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.

注意 (継承者)

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

適用対象

こちらもご覧ください