2016-12-10 7 views
0

C#:私のすべてのフォームにボタンを追加する方法#

私は多くのフォームがありますが、同じ機能を持つボタンを1つ追加したいと思います。それらのすべてに (終了ボタン)を押します。

私はボタンを複製したくありません。 これを行う方法はありますか?

+0

「ユーザーコントロール」を使用できます。 https://msdn.microsoft.com/en-us/library/aa302342.aspx –

+2

継承を使用して、FormWithExitButtonクラスを作成できます。 – TaW

答えて

0

このメソッドは、このメソッドを呼び出すフォームを含むすべてのフォームに終了ボタンを追加します。このメソッドを呼び出す場所のフォームに追加します。

public void AddExitButtons() { 
    foreach(Form frm in Application.OpenForms) {  
     Button btn = new Button(); 
     btn.Name = "exitBtn"; 
     btn.Text = "Exit"; 
     btn.Location = new Point(100, 100); // Add x and y position to where you need it. 
     btn.Click += new EventHandler(this.exitBtn_Click); 
     frm.Controls.Add(btn); 
    } 
} 

public void exitBtn_Click(Object sender, EventArgs e) { 
    MessageBox.Show("Clicked!"); 
} 

またはあなたがこの方法を使用する形で終了ボタンを追加したくない場合は、このコードを参照してください。

public void AddExitButtons() { 
    foreach(Form frm in Application.OpenForms) {  
     if(frm.Name != this.Name) { 
      Button btn = new Button(); 
      btn.Name = "exitBtn"; 
      btn.Text = "Exit"; 
      btn.Location = new Point(100, 100); // Add x and y position to where you need it. 
      btn.Click += new EventHandler(this.exitBtn_Click); 
      frm.Controls.Add(btn); 
     } 
    } 
} 

public void exitBtn_Click(Object sender, EventArgs e) { 
    MessageBox.Show("Clicked!"); 
} 

EDIT

に基づいて、コメント、私はあなたがタブコントロールのすべてのタブページにそれらのボタンを追加したいと仮定します。ここでのコードは次のようになります。

public void AddExitButtons() { 
    foreach(TagPage tabPge in tabControl1.TabPages) { 
     Button btn = new Button(); 
     btn.Name = "exitBtn"; 
     btn.Text = "Exit"; 
     btn.Location = new Point(100, 100); // Add x and y position to where you need it. 
     btn.Click += new EventHandler(this.exitBtn_Click); 
     tabPge.Controls.Add(btn); 
    } 
} 

public void exitBtn_Click(Object sender, EventArgs e) { 
    MessageBox.Show("Clicked!"); 
} 
+0

ありがとうございます。 間違いをおかけして申し訳ありません。 私は、**私のすべての**タブコントロール**(私は1つのフォームしかありません)に同じ機能を持つボタンを追加する必要があることを意味しました。 – Kfir

+0

タブコントロールのために動作するコードを追加しました。 – Perumal

+0

ありがとう、それは魔法のように働く:) – Kfir

関連する問題