この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.BackColor プロパティ
コントロールの背景色を取得または設定します。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
System.Windows.Forms.ControlStyles の SupportsTransparentBackColor 値が true に設定されない限り、BackColor プロパティは透過色をサポートしません。
BackColor プロパティはアンビエント プロパティです。 アンビエント プロパティは、コントロール プロパティです。設定しない場合は、親コントロールから取得されます。 たとえば、Button は、既定では親の Form と同じ BackColor を持ちます。 アンビエント プロパティの詳細については、AmbientProperties クラスまたは Control クラスの概要を参照してください。
継承時の注意
派生クラスで BackColor プロパティをオーバーライドする場合は、基本クラスの BackColor プロパティを使用して、基本の実装を拡張します。 それ以外の場合は、すべての実装を提供する必要があります。 BackColor プロパティの get アクセサーと set アクセサーの両方をオーバーライドする必要はありません。必要に応じて 1 つのアクセサーだけをオーバーライドできます。
コントロールの BackColor および ForeColor を既定のシステム カラーに設定するコード例を次に示します。 コントロールに子コントロールがある場合、コードは再帰的に自分自身を呼び出します。 このコード例では、Form に少なくとも 1 つの子コントロールが存在している必要があります。ただし、Panel または GroupBox のような、独自の子コントロールがある子コンテナー コントロールの方が、再帰の例として適しています。
// 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); } } }
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。