C#多屏幕查看单一表格

时间:2012-11-28 10:23:41

标签: c# winforms user-interface show-hide

我在C#中创建了一个GUI,它应该是这样的:

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

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

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

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

感谢

3 个答案:

答案 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以及显示/隐藏每个控件。