以下是解决方法
直接新建一个类继承TabControl然后 override DisplayRectangle 方法
复制代码代码如下:
/// <summary>
/// 解决系统TabControl多余边距问题
/// </summary>
public class FullTabControl : TabControl {
public override Rectangle DisplayRectangle {
get {
Rectangle rect = baseDisplayRectangle;
return new Rectangle(rectLeft rectTop rectWidth + rectHeight + );
}
}
}
以后用 FullTabControl 就行(这种方法简单)
参见以下网址(VBNET)代码
C# 代码为
复制代码代码如下:
public class FullTabControl : NativeWindow {
static int TCM_FIRST = x;
static int TCM_ADJUSTRECT = (TCM_FIRST + );
struct RECT{
public int Left Top Right Bottom;
}
protected override void WndProc(ref Message m) {
if (mMsg == TCM_ADJUSTRECT) {
RECT rc = (RECT)mGetLParam(typeof(RECT));
rcLeft = ;
rcRight += ;
rcTop = ;
rcBottom += ;
MarshalStructureToPtr(rc mLParam true);
}
baseWndProc(ref m);
}
}
调用方法new FullTabControl()AssignHandle(tabControlHandle);// tabControl为窗口上TabControl控件的名称
版权声明作者夏荣全
邮箱lyout(at)com