我使用Tab Control创建了一个Windows窗体,但它有一个标题。我想隐藏它。我无法使用Tab Control的任何属性来执行此操作。是否有任何属性被定义用于隐藏Tab控件的选项卡标题而不通过代码?
答案 0 :(得分:87)
使用以下代码隐藏选项卡或在设计中设置这些属性。
tabControl.Appearance = TabAppearance.FlatButtons;
tabControl.ItemSize = new Size(0, 1);
tabControl.SizeMode = TabSizeMode.Fixed;
答案 1 :(得分:4)
您希望没有该功能的选项卡面板允许用户在它们之间切换,因此我想您要创建几个单独的控件集,以便一次向用户显示一个。您可以通过多种方式实现此目的(如果您认为适合您的情况,可以选择其中一种方式):
Panel
控件而不是TabControl
中的多个标签,但是,在设计器中很难工作,因为所有控件都可见Form
而不是标签来保持布局部分分开。它可以,但您可能不想使用多个Form
,因此它取决于具体情况。最后,建议的解决方案:
UserControl
中封装每组控件。这允许您分别保留每个布局,这样您就可以轻松地设计每个布局,而不会妨碍其他控件;)。处理每个布局的代码也将被分开。然后只需在表单中拖动这些控件,并使用适当的设置它们的可见性来显示您想要的那个。如果这些建议都不适合你,请告诉我,我可以寻找其他可能的解决方案。
答案 2 :(得分:-1)
您可以更轻松地思考,只需拖动面板的窗口,就可以在窗体外面。
答案 3 :(得分:-1)
实现相同(或类似)的另一种方法是:您可以从TabControl.TabPages集合中删除选项卡,然后添加要显示的选项卡。
在表单初始化期间,我删除了标签(因此我可以轻松管理它们),在某些控制事件中(如按钮点击)我会显示用户必须看到的标签。
类似的东西:
// During form load:
ctrTab.TabPages.Clear();
// ......
// During button click or some other event:
if(rbSend.Checked)
ctrTab.TabPages.Add(pgSend);
else
ctrTab.TabPages.Add(pgReceive);
通过这种方式,用户仍然可以看到标题选项卡,但是作为控件组的标题,他无法更改/切换当前活动选项卡。
答案 4 :(得分:-1)
使用DrawMode:OwnerDrawFixed将隐藏TabPage标题文本DrawMode : OwnerDrawFixed