如何创建没有标签标题的TabControl?

uni*_*orn 4 .net c# tabs tabcontrol winforms

如何创建不显示选项卡标题的选项卡管理器?

这是一个winforms应用程序,使用选项卡管理器的目的是只能通过代码更改显示内容.它适用于各种菜单选项更改屏幕内容的菜单.

Cod*_*ray 17

TabControl一旦你知道了这个技巧,将标签隐藏在标准上非常简单.当需要调整选项卡大小时,选项卡控件会发送一条TCM_ADJUSTRECT消息,因此我们只需要捕获该消息.(我确信之前已经回答过,但发布代码比搜索代码更容易.)

将以下代码添加到项目中的新类,重新编译,并使用CustomTabControl类而不是内置控件:

class CustomTabControl : TabControl
{
    private const int TCM_ADJUSTRECT = 0x1328;

    protected override void WndProc(ref Message m)
    {
        // Hide the tab headers at run-time
        if (m.Msg == TCM_ADJUSTRECT && !DesignMode)
        {
            m.Result = (IntPtr)1;
            return;
        }

        // call the base class implementation
        base.WndProc(ref m);
    }
}
Run Code Online (Sandbox Code Playgroud)

(代码示例最初来自Dot Net Ideas.)

请注意,对于位于侧面或底部的标签页眉,这将无法正常工作.但这不仅看起来很奇怪,而且无论如何都无法在运行时看到标签.把它们放在它们所属的顶部.