/ /別のユーザーコントロールのボタンをクリックしてパネルにユーザーコントロールを追加する方法は? - c#、winforms、user-controls

他のユーザーコントロールをクリックしてパネルからユーザーコントロールを追加する方法は? - c#、winforms、user-controls

私はパネル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 デザイン時にフォームに表示されます。