c#

位置:IT落伍者 >> c# >> 浏览文章

.NET 解决TabControl 页里面多余边距问题经验分享


发布日期:2022年04月14日
 
.NET 解决TabControl 页里面多余边距问题经验分享

以下是解决方法
直接新建一个类继承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

上一篇:探讨.NET中的联合结构

下一篇:总是弹出visual studio 实时调试器 三种解决办法