この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.OnParentForeColorChanged メソッド
コントロールのコンテナーの ForeColor プロパティ値が変更された場合に、ForeColorChanged イベントを発生させます。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
イベントが発生すると、デリゲートを使用してイベント ハンドラーが呼び出されます。 詳細については、「イベントの発生」を参照してください。
OnParentForeColorChanged メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。 派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意
派生クラスで OnParentForeColorChanged をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnParentForeColorChanged メソッドを呼び出してください。
Text プロパティの値が変更されたときに実行されるイベント発生メソッドのコード例を次に示します。 Control クラスには、OnPropertyNameChanged という名前のパターンを持つメソッドがいくつかあります。これらは、PropertyName 値が変更されたときに、対応する PropertyNameChanged イベントを発生させます (PropertyName は対応するプロパティの名前を表します)。
通貨型のデータを表示する TextBox の派生クラスの ForeColor を変更するコード例を次に示します。 テキストを 10 進数に変換し、値が負の場合は ForeColor を Color.Red に変更し、正の場合は Color.Black に変更する例を次に示します。 この例では、TextBox クラスから派生したクラスが存在している必要があります。
protected override void OnTextChanged(System.EventArgs e) { try { // Convert the text to a Double and determine // if it is a negative number. if(double.Parse(this.Text) < 0) { // If the number is negative, display it in Red. this.ForeColor = Color.Red; } else { // If the number is not negative, display it in Black. this.ForeColor = Color.Black; } } catch { // If there is an error, display the // text using the system colors. this.ForeColor = SystemColors.ControlText; } base.OnTextChanged(e); }
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 システム要件」を参照してください。