2

标签页在边框和内部控件之间有一个填充。有没有办法删除这个填充?

这是必要的,因为如果 TabControl 停靠在父容器中,它看起来会很糟糕。

我尝试了一些方法覆盖,但没有奏效。

4

1 回答 1

6

我发现它可以通过以下方式实现WndProc

public class TabControl2 : TabControl
{
    protected override void WndProc(ref Message m)
    {
        if (m.Msg == 0x1300 + 40)
        {
            RECT rc = (RECT)m.GetLParam(typeof(RECT));
            rc.Left -= 7;
            rc.Right += 7;
            rc.Top -= 2;
            rc.Bottom += 7;
            Marshal.StructureToPtr(rc, m.LParam, true);
        }
        base.WndProc(ref m);
    }
}

public struct RECT
{
    public int Left, Top, Right, Bottom;
}
于 2012-04-20T08:12:03.097 回答