この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.OnControlAdded メソッド
.NET Framework 4
ControlAdded イベントを発生させます。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
パラメーター
- e
- 型: System.Windows.Forms.ControlEventArgs
イベント データを格納している ControlEventArgs。
子コントロールがコントロールに追加されるときに呼び出されます。
イベントが発生すると、デリゲートを使用してイベント ハンドラーが呼び出されます。 詳細については、「イベントの発生」を参照してください。
OnControlAdded メソッドを使用すると、デリゲートを結び付けずに、派生クラスでイベントを処理することもできます。 派生クラスでイベントを処理する場合は、この手法をお勧めします。
継承時の注意
派生クラスで OnControlAdded をオーバーライドする場合は、登録されているデリゲートがイベントを受け取ることができるように、基本クラスの OnControlAdded メソッドを呼び出してください。
ControlAdded を使用して、フォームにコントロールを追加し、追加されたコントロールの名前を MessageBox に表示するコード例を次に示します。
// This example demonstrates the use of the ControlAdded and // ControlRemoved events. This example assumes that two Button controls // are added to the form and connected to the addControl_Click and // removeControl_Click event-handler methods. private void Form1_Load(object sender, System.EventArgs e) { // Connect the ControlRemoved and ControlAdded event handlers // to the event-handler methods. // ControlRemoved and ControlAdded are not available at design time. this.ControlRemoved += new System.Windows.Forms.ControlEventHandler(this.Control_Removed); this.ControlAdded += new System.Windows.Forms.ControlEventHandler(this.Control_Added); } private void Control_Added(object sender, System.Windows.Forms.ControlEventArgs e) { MessageBox.Show("The control named " + e.Control.Name + " has been added to the form."); } private void Control_Removed(object sender, System.Windows.Forms.ControlEventArgs e) { MessageBox.Show("The control named " + e.Control.Name + " has been removed from the form."); } // Click event handler for a Button control. Adds a TextBox to the form. private void addControl_Click(object sender, System.EventArgs e) { // Create a new TextBox control and add it to the form. TextBox textBox1 = new TextBox(); textBox1.Size = new Size(100,10); textBox1.Location = new Point(10,10); // Name the control in order to remove it later. The name must be specified // if a control is added at run time. textBox1.Name = "textBox1"; // Add the control to the form's control collection. this.Controls.Add(textBox1); } // Click event handler for a Button control. // Removes the previously added TextBox from the form. private void removeControl_Click(object sender, System.EventArgs e) { // Loop through all controls in the form's control collection. foreach (Control tempCtrl in this.Controls) { // Determine whether the control is textBox1, // and if it is, remove it. if (tempCtrl.Name == "textBox1") { this.Controls.Remove(tempCtrl); } } }
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 システム要件」を参照してください。