Winforms WinForm TabControl:如何动态隐藏/显示选项卡标题?
我想让我的tabControl更智能一些,以节省一些屏幕空间:如果只有一个选项卡,则不显示选项卡标题;如果有两个或更多选项卡,则显示选项卡标题Winforms WinForm TabControl:如何动态隐藏/显示选项卡标题?,winforms,tabcontrol,Winforms,Tabcontrol,我想让我的tabControl更智能一些,以节省一些屏幕空间:如果只有一个选项卡,则不显示选项卡标题;如果有两个或更多选项卡,则显示选项卡标题 我知道您可以完全隐藏选项卡标题,如中所建议的那样。这种方法的问题是,一旦隐藏,我就无法再次显示选项卡标题。还是我错过了什么?赞扬了这个家伙: 要进一步说明Hans的答案: 我想让TabControl也能在设计时隐藏选项卡,但后来出现了一个问题,即一旦隐藏选项卡,就无法选择TabControl再次打开它们,因此我创建了一个自定义TabPage,可以控制此属
我知道您可以完全隐藏选项卡标题,如中所建议的那样。这种方法的问题是,一旦隐藏,我就无法再次显示选项卡标题。还是我错过了什么?赞扬了这个家伙:
要进一步说明Hans的答案: 我想让TabControl也能在设计时隐藏选项卡,但后来出现了一个问题,即一旦隐藏选项卡,就无法选择TabControl再次打开它们,因此我创建了一个自定义TabPage,可以控制此属性
Imports System.Windows.Forms
Public Class NoHeaderTabPage
Inherits TabPage
Public Property ShowTabs() As Boolean
Get
Return CType(Me.Parent, NoHeaderTabControl).ShowTabs
End Get
Set(ByVal value As Boolean)
CType(Me.Parent, NoHeaderTabControl).ShowTabs = value
End Set
End Property
End Class
有点挖坟墓,但我知道另一个解决办法。我不知道它从哪里来,但在这里: 表单加载:(VB.NET) 其中,
TabControl1
是选项卡控件的名称,TabPage1
是该控件中第一个选项卡页面的名称
如果您想将其作为例程使用,则可以执行以下操作:
Public Sub hideTabs(ByVal TC as TabControl)
TC.Region = New Region(New RectangleF(TC.TabPages(0).Left,TC.TabPages(0).Top, TC.TabPages(0).Width, TC.TabPages(0).Height))
End Sub
就这么简单。这样做的好处是,头不会在运行时显示,但在设计时是可见的。这是一个绝妙的想法。非常感谢你!
Tabcontrol1.Region = New Region (New RectangleF(TabPage1.Left, TabPage1.Top, TabPage1.Width, TabPage1.Height))
Public Sub hideTabs(ByVal TC as TabControl)
TC.Region = New Region(New RectangleF(TC.TabPages(0).Left,TC.TabPages(0).Top, TC.TabPages(0).Width, TC.TabPages(0).Height))
End Sub