时间:2021-07-01 10:21:17 帮助过:10人阅读
- <br>/// <summary> <br>/// 解决系统TabControl多余边距问题 <br>/// </summary> <br>public class FullTabControl : TabControl { <br><br>public override Rectangle DisplayRectangle { <br>get { <br>Rectangle rect = base.DisplayRectangle; <br>return new Rectangle(rect.Left - 4, rect.Top - 4, rect.Width + 8, rect.Height + 7); <br>} <br>} <br>} <br> <br>以后用 FullTabControl 就行。(这种方法简单) <br><br><br>2.参见以下网址(VB.NET)代码: <br><br>http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html <br><br>C# 代码为: <br><br><span><u></u></span> 代码如下:<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li><br>public class FullTabControl : NativeWindow { <br>static int TCM_FIRST = 0x1300; <br>static int TCM_ADJUSTRECT = (TCM_FIRST + 40); <br>struct RECT{ <br>public int Left, Top, Right, Bottom; <br>} <br><br>protected override void WndProc(ref Message m) { <br>if (m.Msg == TCM_ADJUSTRECT) { <br>RECT rc = (RECT)m.GetLParam(typeof(RECT)); <br>rc.Left -= 4; <br>rc.Right += 3; <br>rc.Top -= 4; <br>rc.Bottom += 3; <br>Marshal.StructureToPtr(rc, m.LParam, true); <br>} <br><br>base.WndProc(ref m); <br>} <br>} <br> <br><br>调用方法:new FullTabControl().AssignHandle(tabControl1.Handle);// tabControl1为窗口上TabControl控件的名称 <br><br>版权声明作者:夏荣全 <br>邮箱:lyout(at)163.com</li><li> </li><li> </li></ol></pre>