如何使WinForms TabPage标题宽度适合它的标题?

clu*_*ter 6 c# tabcontrol tabpage width winforms

如何使WinForms TabPage标题宽度适合它的标题?这是问题所在.

在此输入图像描述

Han*_*ant 10

本机Windows选项卡控件允许覆盖默认的最小选项卡宽度.遗憾的是,TabControl包装类中没有公开该功能.但这是可以修复的.在项目中添加一个新类并粘贴下面显示的代码.编译.将新控件从工具箱顶部拖放到表单上.

using System;
using System.Windows.Forms;

class MyTabControl : TabControl {
    protected override void OnHandleCreated(EventArgs e) {
        base.OnHandleCreated(e);
        // Send TCM_SETMINTABWIDTH
        SendMessage(this.Handle, 0x1300 + 49, IntPtr.Zero, (IntPtr)10);
    }
    [System.Runtime.InteropServices.DllImport("user32.dll")]
    private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wp, IntPtr lp);
}
Run Code Online (Sandbox Code Playgroud)