Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Windows窗体中创建没有选项卡标题的选项卡控件?_C#_.net_Winforms - Fatal编程技术网

C# 如何在Windows窗体中创建没有选项卡标题的选项卡控件?

C# 如何在Windows窗体中创建没有选项卡标题的选项卡控件?,c#,.net,winforms,C#,.net,Winforms,我使用选项卡控件创建了一个Windows窗体,但它有一个标题。我想把它藏起来。我无法使用选项卡控件的任何属性来执行此操作。是否定义了任何属性来隐藏选项卡控件的选项卡标题,而不必查看代码?您希望选项卡面板不具有允许用户在它们之间切换的功能,因此我假设您希望创建几个单独的控件集,以便一次向用户显示一个。您可以通过多种方式实现这一点(如果您认为适合您的情况,您可以选择其中一种): 使用多个面板控件,而不是选项卡控件中的多个选项卡,但是,在设计器中很难工作,因为所有控件都是可见的 使用不同的表单s而不

我使用选项卡控件创建了一个Windows窗体,但它有一个标题。我想把它藏起来。我无法使用选项卡控件的任何属性来执行此操作。是否定义了任何属性来隐藏选项卡控件的选项卡标题,而不必查看代码?

您希望选项卡面板不具有允许用户在它们之间切换的功能,因此我假设您希望创建几个单独的控件集,以便一次向用户显示一个。您可以通过多种方式实现这一点(如果您认为适合您的情况,您可以选择其中一种):

  • 使用多个
    面板
    控件,而不是
    选项卡控件
    中的多个选项卡,但是,在设计器中很难工作,因为所有控件都是可见的
  • 使用不同的
    表单
    s而不是制表符来保持布局部分的分离。可以,但您可能不想使用多个
    表单
    s,因此这取决于具体情况
最后,建议的解决方案是:

  • 将每组控件封装在
    UserControl
    中。这使您可以单独保留每个布局,这样您就可以轻松地设计每个布局,而无需其他控件的阻碍;)。处理每个布局的代码也将被分离。然后只需将这些控件拖动到表单中,并使用适当的设置它们的可见性来显示所需的控件

如果这些建议都不适用于您,请告诉我,以便我可以寻找其他可能的解决方案。

使用以下代码隐藏选项卡或在设计中设置这些属性

    tabControl.Appearance = TabAppearance.FlatButtons;
    tabControl.ItemSize = new Size(0, 1);
    tabControl.SizeMode = TabSizeMode.Fixed;

正如您所想,这更容易,您只需将面板的窗口拖到上方,这样就可以在窗体之外。

实现相同(或类似)效果的另一种方法是:您可以从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);


通过这种方式,用户仍然可以看到页眉选项卡,但就像控件组的标题一样,他无法更改/切换当前活动的选项卡。

使用DrawMode:OwnerDrawFixed将隐藏TabPage页眉文本

我想可以将其调整为1px,因此它几乎不可见。看看这里的答案:。我已经尝试过调整它的大小,但它仍然不起作用…他们有没有其他方法来解决这个问题?您是否尝试过将y位置设置为负值。。。有什么吗?可能是重复的谢谢你的帮助Lucas。我已经想出了摆脱标签头的办法。我刚刚将选项卡控件的“showtab”属性设置为false,它就工作了。很好地使用面板控制可以肯定的工作。非常感谢你的帮助。如果我遇到任何其他困难,将通知您。无论是在WinForms还是在WPF中,我都无法在
TabControl
控件中看到
ShowTabs
属性。你在用不同的东西吗?无论如何,我很高兴你找到了解决方案:)。嗨,卢卡斯,我使用的是简单的windows窗体应用程序。是的,它具有ShowTabs属性。我可以附加一个屏幕截图,如果你想。是否有任何方法可以附加屏幕截图。嘿,谢谢你的回复:)。我相信您可以在使用的控件中看到此属性,但是,我不确定它是否是.NET中可用的默认
TabControl
。我甚至在列出所有
TabControl
类成员的MSDN上也找不到它:。问题是“没有制表符标题的制表符控件”你在这里写的绝对是主题。你能详细说明一下吗?你用鼠标把窗口拉得更高,直到它脱离窗体。这要求在窗口的最顶部设置选项卡控件,这违反了设计准则,没有给其他类型的控件安排留出空间。@NikolaMalešević我同意这是非常丑陋的,但是,即使控件不在其容器的顶部,您也可以通过使用
面板覆盖选项卡标题来完成相同的操作。@binki或者您可以使用上面的投票结果,以一种优雅的方式解决问题。让我们保持简单。即使这是非常古老的,这个答案节省了我很多时间!这应该被接受为答案。完美!这是一个很好的解决方案。谢谢。但您仍然可以使用Ctrl+Tab在选项卡之间切换:)这对于可能需要或不需要选项卡的通用控件非常有用。非常感谢。工作正常,但结果是按钮必须在顶部。所以再加上这个答案。。。tabControl.Alignment=TabAlignment.Top但它会隐藏整个选项卡标题本身吗?@binki它唯一的隐藏选项卡标题文本看这里这就是问题的目的。如果可以,请发邮件给我。问题是如何隐藏整个标签而不隐藏标签的内容。不仅仅是如何避免在选项卡中呈现文本。我想你不明白这个问题。很抱歉我误解了这个问题。我想不起隐藏标题问题是如何完全隐藏标签标题,而不是如何防止用户切换到其他标签。