没有选项卡的TabControl(c#中的QStackWidget)

时间:2010-05-28 19:13:16

标签: c# tabcontrol

我正在编写一个GUI根据几个条件改变的应用程序。我在Qt4中实现了它,并在内部使用了QStackWidget(基本上,它是一系列控件,每次只能看到一个。)

我目前正在使用TabControl - 我在C#中的替代方案是什么?

编辑:

我写了一个使用QStackWidget的Qt4应用程序。现在我在C#中重写相同的应用程序。没有共享代码,这是一个不同的应用程序。

2 个答案:

答案 0 :(得分:0)

我不知道内置控件的作用类似于QStackWidget,但您可以编写一个继承Panel的类,将其子控件保留在内部List中,并跟踪“当前”控件。添加NextPage,PreviousPage,SetPage等便利方法,负责显示所需的子控件并隐藏其余部分。

答案 1 :(得分:0)

如果您使用WinForms(c#),您可以创建自己继承自TabControl的控件并添加:

public partial class TablessControl : TabControl
    {
        protected override void WndProc(ref Message m)
        {
            // Hide tabs in RunTime mode
            if (m.Msg == 0x1328 && !DesignMode)
            {
                m.Result = (IntPtr)1;
            }
            // Hide tabs in DesignMode
            else if (m.Msg == 0x1328 && DesignMode)
            {
                m.Result = (IntPtr)1;
            }
            else
            {
                base.WndProc(ref m);
            }
        }
    }