繁体   English   中英

选项卡控件共享相同的按钮Winform

[英]Tab Control Shares The same buttons Winform

我想知道是否有固定数量的按钮可以由不同的选项卡页面共享。 但是我不知道如何实现这一点。 你们有什么主意吗?

这是我的gui的屏幕截图,以便所有人都可以更清楚地了解我的意思。

1个

我希望“客户”,“预订”和“签入/签出”列表将共享搜索,编辑,删除和刷新按钮。

可能吗? 还是应该为每个标签页创建差异按钮?

我这样做是否正确:

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM