私はパネル1、2つのユーザーコントロールuc1とuc2を持っています。 uc1がパネルに追加されます。 uc1にはbuttonUC1があります。そのボタンをクリックすると、uc1を隠し、別のbuttonUC2を持つuc2を表示したいと思います。 buttonUC2をクリックすると、uc2を非表示にして、パネルにuc1を表示します。
回答:
回答№1は0他のコントロールを追加、表示、非表示にできますボタンをクリックしたときにボタンを含むユーザーコントロールのイベントフォームを作成し、フォーム内のそのイベントを登録し、必要な操作を行う方がよいでしょう。たとえば、親フォームのパネルにフォーム上のパネル上に他のユーザーコントロールを表示します。
詳しく知ることができ:
例:
のコード UserControl1
:
[System.ComponentModel.DefaultEvent("ButtonClicked")]
public partial class UserControl1 : UserControl
{
public UserControl1()
{
InitializeComponent();
button1.Click += button1_Click;
}
public event EventHandler ButtonClicked;
protected virtual void OnButtonClicked(EventArgs e)
{
var handler = ButtonClicked;
if (handler != null)
handler(this, e);
}
private void button1_Click(object sender, EventArgs e)
{
OnButtonClicked(EventArgs.Empty);
}
}
あなたのフォームでイベントを使用してください:
private void userControl11_ButtonClicked(object sender, EventArgs e)
{
MessageBox.Show("Button of UserControl1 Clicked!");
//or for example, userControl11.Hide(); userControl21.Show();
}
購読するのを忘れないでください ButtonClicked
フォームのイベント、プロパティグリッドのイベントタブ、またはコードを使用するか、または単にあなたのフォームをダブルクリックして userControl11
デザイン時にフォームに表示されます。