4

我在 C# 中创建了一个 GUI,它应该如下所示:

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

我通过隐藏 GUI 元素并根据需要显示其他元素来做到这一点。

它可以按我的意愿正常工作,但在设计器视图中Form1我不得不创建凌乱的 GUI。

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

谢谢

4

3 回答 3

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");

这不是我的原创作品,不久前我发现它在网上流传,不记得我在哪里看到的。无论如何,我希望这会有所帮助!

于 2012-11-28T10:54:24.937 回答
1

使用 TabControl 怎么样,您可以获得所有想要的“视图”,而不会出现混乱的可见 = true/falseshizzle。

于 2012-11-28T10:28:02.993 回答
1

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

于 2012-11-28T10:31:00.017 回答