C# 多屏幕视图单个窗体



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

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

我使用隐藏 GUI 元素并根据需要显示其他元素来执行此操作。

它按照我想要的那样工作正常,但在Form1的设计师视图中,我不得不创建混乱的 GUI。

我的问题是,这是好的编程实践吗?如果不是,那么实现这一目标的最佳或推荐方法是什么。

谢谢

您可能需要考虑"表格"选项卡控件,这些天我倾向于将它们用于我的许多工作,因为使用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");

这不是我的原创作品,我发现它在网上漂浮了一段时间,不记得我在哪里看到它。无论如何,我希望这有所帮助!

如何使用

TabControl,您可以获得所需的所有"视图"而不会混乱可见 = true/false嘶嘶作响。

您可以创建不同的子控件 View1 和 View2,并根据窗体状态和按钮单击显示/隐藏每个控件。

最新更新