use*_*095 4 c# user-interface show-hide winforms
我在C#中创建了一个GUI,它看起来像这样:
在主屏幕上有两个按钮,Button1单击时我不想打开一个新的表单,form2.show();但保持相同的形式,我想改变显示.
我这样做是使用隐藏GUI元素并根据需要显示其他元素.
它可以正常工作,但在设计师View中Form1我不得不创建凌乱的GUI.
我的问题是它是否是良好的编程习惯?如果没有,那么实现这一目标的最佳或推荐方法是什么.
谢谢
您可能想要考虑一个'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);
}
}
Run Code Online (Sandbox Code Playgroud)
这将扩展选项卡控件并隐藏顶部的选项卡,然后您可以使用类似于以下内容的代码以编程方式更改选项卡:
tablessTabControl.SelectTab("tabName");
Run Code Online (Sandbox Code Playgroud)
这不是我原来的作品,我发现它一会儿就漂浮在网上,不记得我在哪里看到它.无论如何,我希望这有帮助!