winforms - Visual Studio 2010 WinForms选项卡控制问题

  显示原文与译文双语对照的内容
71 3

我有一个以两种模式显示的表单。切换模式完全改变了表单的外观,如果使用tab控件,并且每个选项卡上都有不同的控件。

如果我能隐藏标签本身,标签控件是完美的。

当然,我可以使用两个面板,语法上显示和隐藏适当的面板。我试过这个,但是我的锚一直在弄乱( 我认为这是一个 Visual Studio 设计器 Bug ) 。

如果使用"向导"控件,则在设计时使用选项卡,在设计阶段绘制第一个页的控件,将属性绘制到第二页,然后将控件放到第二页。

如果没有选项卡,我认为oab有一些功能,可以以很好地创建一个向导样式界面,例如。

这样做的最佳方式是使我的设计时间外观模拟运行时间?

我的代码,在设计环境中很容易出错,但我喜欢使用自己的archoring代码,这也很难,但是设计环境看起来很混乱,当它运行时。只是让生活变得简单。

我也有Telerik第三。控件,以防在该控制集中有一个替代。"。

推荐?

时间:原作者:0个回答

54 1

可以。向项目添加一个新类并粘贴下面所示的代码。将新控件从工具箱的顶部拖放到窗体上。它在设计时有标签,所以你可以在页面之间轻松地进行 switch 。但是,在运行时隐藏它们,使用代码中的arraylist或者SelectedTab属性进行 switch 视图。

using System;
using System.Windows.Forms;
class PageControl : 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);
 }
}
原作者:
74 0

值得一提的是,我建议你在需要时从左到右向右移动 SplitSeparator 。

我不确定我的答案会有多大,但是想想一下,这可以能是一个方便的解决方案。

希望这有帮助

原作者:
114 1

我绝对会使用你要显示的每个"内容"的自定义"用户控件",如你所说,以编程方式显示/隐藏它们。在"锚定"上,将材质放置在需要分别放置的"用户控件"上。然后,当你将"用户控件"添加到窗体时,你的有它自己的anchor属性。控件可以见时,控件的调整大小。锚定重新定位和重新绘制似乎已经经完成。因这里,当你首先启动窗体时,确保使它的可以见,然后根据需要更改它的高度/宽度,然后从那里运行。

原作者:
...