我在C#中创建了一个GUI,它应该是这样的:
在主屏幕上有两个按钮,当点击Button1
时,我不想使用form2.show();
打开一个新表单,但在保持相同的形式时,我想更改显示。
我使用隐藏GUI元素并根据需要显示其他元素来完成此操作。
它可以正常工作,但在设计师的Form1
视图中,我不得不创建凌乱的GUI。
我的问题是它是否是良好的编程习惯?如果没有,那么实现这一目标的最佳或推荐方法是什么。
感谢
答案 0 :(得分:7)
您可能想要考虑一个'Tabless'选项卡控件,我现在倾向于将它们用于我的大部分工作,因为使用win-forms设计器可以轻松快速地构建界面。
class TablessTabControl : TabControl
{
protected override void WndProc(ref Message m)
{
// Hide tabs by trapping the TCM_ADJUSTRECT message
if (m.Msg == 0x1328 && !DesignMode) m.Result = (IntPtr)1;
else base.WndProc(ref m);
}
}
这将扩展选项卡控件并隐藏顶部的选项卡,然后您可以使用类似于以下内容的代码以编程方式更改选项卡:
tablessTabControl.SelectTab("tabName");
这不是我原来的作品,我发现它在网前漂浮了一段时间,不记得我在哪里看到它。无论如何,我希望这有帮助!
答案 1 :(得分:1)
如何使用TabControl,您可以获得所需的所有“视图”而不会产生混乱
可见= true/false
shizzle。
答案 2 :(得分:1)
您可以根据表单状态和按钮单击创建不同的子控件View1和View2以及显示/隐藏每个控件。