[英]Tab Control Shares The same buttons Winform
我想知道是否有固定数量的按钮可以由不同的选项卡页面共享。 但是我不知道如何实现这一点。 你们有什么主意吗?
这是我的gui的屏幕截图,以便所有人都可以更清楚地了解我的意思。
我希望“客户”,“预订”和“签入/签出”列表将共享搜索,编辑,删除和刷新按钮。
可能吗? 还是应该为每个标签页创建差异按钮?
我这样做是否正确:
private void buttonSearch_Click(object sender, EventArgs e)
{
if(tabpage.SelectedIndex == 1){ then perform action..}
if(tabpage.SelectedIndex == 2) {then perform action...}
}
您可以将按钮放在用户控件中,向用户控件中添加一些事件(例如SearchClicked,EditClicked等)。 将用户控件放在tabcontrol之外。
然后,当您更改选项卡( TabIndexChanged
)时,从上一个选项卡中删除事件处理程序,并为新选项卡添加事件处理程序:
private void tabControl_TabIndexChanged(object sender, EventArgs e)
{
UserControl1.EditClicked -= OldEventHandler;
UserControl1.EditClicked += NewEventHandler;
}
是的,您可以在运行时更改按钮的.Parent属性-但是将按钮移到选项卡控件之外会更好吗?
我觉得您应该为每个标签页创建不同的按钮,因为每个标签页都在不同的实体上运行。 如果只有一组按钮,则必须首先检查选择了哪个选项卡页,然后进行操作。 因此,您将有一种做很多事情的重要方法。
另外,当选择了选项卡页面时,您将不得不编写额外的UI代码来移动按钮。
使用不同的按钮,您将拥有高度凝聚力和松散耦合的代码。 更好的设计。 更易于维护和管理。 更少的代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.