C#多屏幕查看单一表格

use*_*095 4 c# user-interface show-hide winforms

我在C#中创建了一个GUI,它看起来像这样:

在主屏幕上有两个按钮,Button1单击时我不想打开一个新的表单,form2.show();但保持相同的形式,我想改变显示.

我这样做是使用隐藏GUI元素并根据需要显示其他元素.

它可以正常工作,但在设计师View中Form1我不得不创建凌乱的GUI.

我的问题是它是否是良好的编程习惯?如果没有,那么实现这一目标的最佳或推荐方法是什么.

谢谢

Dan*_*ane 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);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这将扩展选项卡控件并隐藏顶部的选项卡,然后您可以使用类似于以下内容的代码以编程方式更改选项卡:

    tablessTabControl.SelectTab("tabName");
Run Code Online (Sandbox Code Playgroud)

这不是我原来的作品,我发现它一会儿就漂浮在网上,不记得我在哪里看到它.无论如何,我希望这有帮助!