是否可以在C#Windows Forms应用程序中与多个页面共享按钮;以便该按钮在两页或更多页中可用?
我尝试过:
this.Page1.Controls.Add(this.Button1);
this.Page2.Controls.Add(this.Button1);
但是它对我不起作用,并且按钮Button1
仅在Page1
中仍然可用。
不,您不能共享它,每个控件都属于一个父级,并且不能出现在多个父级的控件集合中。您可以使用以下任一选项:
将其放在选项卡控件上,而不是在页面内部(请注意文档轮廓:]
在每个标签页中使用不同的按钮,但共享相同的事件处理程序
button1.Click = new EventHanlder(button_Click);
button2.Click = new EventHanlder(button_Click);
...
private void button1_Click(object sender, EventArgs e)
{
//var clicked = (Button)sender;
//Do somthing
}
使用单个按钮,但在选项卡选择更改中,将其移动到另一个选项卡页面:
private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
{
tabControl1.SelectedTab.Controls.Add(button1);
}