カスタムコントロールでタイプButton
のプロパティを作成できます。次に、カスタムコントロールのインスタンスをデザイナーに配置すると、そのプロパティに対して、フォームのすべてのButton
インスタンスを表示するドロップダウンが表示され、それらのインスタンスの1つを選択できます。これは、プロパティのセッターでボタンのイベントをクリックしてメソッドを追加するだけで十分です:
using System;
using System.Windows.Forms;
public class MyControl : UserControl
{
private Button addButton;
public Button AddButton
{
get { return addButton; }
set
{
if (addButton != null)
addButton.Click -= new EventHandler(addButton_Click);
addButton = value;
if (addButton != null)
addButton.Click += new EventHandler(addButton_Click);
}
}
void addButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Add Button Clicked!");
}
}
あなたがAddButton
財産のために、デザイナーの上に置くと、フォーム上のリスト0使用できるボタンが表示されます。それらのうちの1つを選択するだけで十分です。次に、必要な動作(ここでは例ではメッセージボックスを表示)がそのボタンのクリックイベントにアタッチされます。
![enter image description here](https://i.stack.imgur.com/5MXN2.png)
それをテストするために、それはコピーANSプロジェクト内のファイルにコードを貼り付けして、ソリューションを構築し、フォーム上のMyControl' 'のインスタンスを入れて、中にその' AddButton'のproprtyを見るには十分ですデザイナー。次に、いずれかのボタンを選択してプログラムを実行し、そのボタンをクリックします。 –
が完璧です。 ありがとうございました! – Acidburn73
歓迎します。許可はあなたの質問への回答に限られていません。すべての質問で良い答えに投票することができます。また、あなたの質問では、1つの回答だけを受け入れることができますが、受け入れられた回答を含むすべての良い回答に投票することができます。 - 私はあなたが参照した後、コメントをきれいに保つためにコメントを削除します:) –