c# - 如何创建没有选项卡标题的 TabControl?

标签 c# .net winforms tabs tabcontrol

如何制作不显示标签标题的标签管理器?

这是一个winforms应用,使用tab manager的目的是只能通过代码改变显示内容。这适用于各种菜单选项会更改屏幕内容的菜单。

最佳答案

隐藏标准 TabControl 上的选项卡非常简单,只要您知道诀窍。选项卡控件发送一个 TCM_ADJUSTRECT message当它需要调整标签大小时,所以我们只需要捕获该消息。 (我确定之前已经回答过这个问题,但是发布代码比搜索它更容易。)

将以下代码添加到项目中的新类中,重新编译并使用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);
    }
}

(代码示例最初取自 Dot Net Thoughts。)

请注意,这对于位于侧面或底部的选项卡标题将无法正常工作。但这不仅看起来很奇怪,而且无论如何您都无法在运行时看到这些选项卡。只需将它们放在它们所属的顶部即可。

关于c# - 如何创建没有选项卡标题的 TabControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912354/

相关文章:

c# - 从表单调用方法

c# - 从 SaveFileDialog 创建、写入和打开文本文件

c# - 在 Windows 窗体中切换图像

c# - 如何在图像周围创建边框/框架?

C# LINQ to XML 缺少空格字符

c# - 没有值实例装箱的接口(interface)的泛型和用法

c# - Ms Access密码存储

.net - 转换 BitmapImage 后未释放内存

c# - 非递归地计算树中的节点。

c# - 关于 TranslateTransform 和 RenderTransformOrigin