Gets or sets the foreground color of the control.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax
Visual Basic (Declaration)
Public Overridable Property ForeColor As Color
Dim instance As Control
Dim value As Color
value = instance.ForeColor
instance.ForeColor = value
public virtual Color ForeColor { get; set; }
public:
virtual property Color ForeColor {
Color get ();
void set (Color value);
}
/** @property */
public Color get_ForeColor ()
/** @property */
public void set_ForeColor (Color value)
public function get ForeColor () : Color
public function set ForeColor (value : Color)
Property Value
The foreground
Color of the control. The default is the value of the
DefaultForeColor property.

Remarks
The ForeColor property is an ambient property. An ambient property is a control property that, if not set, is retrieved from the parent control. For example, a Button will have the same BackColor as its parent Form by default. For more information about ambient properties, see the AmbientProperties class or the Control class overview.
Notes to Inheritors
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. You are not required to override both the
get and
set accessors of the
ForeColor property; you can override only one if needed.

Example
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. 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 Sub ResetAllControlsBackColor(control As Control)
control.BackColor = SystemColors.Control
control.ForeColor = SystemColors.ControlText
If Me.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
// 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(this.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:
void ResetAllControlsBackColor( Control^ control )
{
control->BackColor = SystemColors::Control;
control->ForeColor = SystemColors::ControlText;
if ( this->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.set_BackColor(SystemColors.get_Control());
control.set_ForeColor(SystemColors.get_ControlText());
if (this.get_HasChildren()) {
for (int iCtr=0; iCtr < control.get_Controls().get_Count(); iCtr++) {
// Recursively call this method for each child control.
Control childControl = control.get_Controls().get_Item(iCtr);
ResetAllControlsBackColor(childControl);
}
}
} //ResetAllControlsBackColor

Platforms
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information
.NET Framework
Supported in: 2.0, 1.1, 1.0
.NET Compact Framework
Supported in: 2.0, 1.0

See Also