zoukankan      html  css  js  c++  java
  • .NET 解决TabControl 页里面多余边距问题

    不知道各位同学有没有遇到在向TabPage添加内容后,里面的东西总是填不满 TabPage,总是有几个像素的空白(边距),以下是解决方法:

    1.直接新建一个类,继承TabControl,然后 override DisplayRectangle 方法:

        /// <summary>
    /// 解决系统TabControl多余边距问题
    /// </summary>
    public class FullTabControl : TabControl {

    public override Rectangle DisplayRectangle {
    get {
    Rectangle rect = base.DisplayRectangle;
    return new Rectangle(rect.Left - 4, rect.Top - 4, rect.Width + 8, rect.Height + 7);
    }
    }
    }

    以后用 FullTabControl 就行。(这种方法简单)


    2.参见以下网址(VB.NET)代码:

    http://www.blueshop.com.tw/board/FUM20050124191756KKC/BRD201112281018075B8.html

    C# 代码为:

        public class FullTabControl : NativeWindow {
    static int TCM_FIRST = 0x1300;
    static int TCM_ADJUSTRECT = (TCM_FIRST + 40);
    struct RECT{
    public int Left, Top, Right, Bottom;
    }

    protected override void WndProc(ref Message m) {
    if (m.Msg == TCM_ADJUSTRECT) {
    RECT rc = (RECT)m.GetLParam(typeof(RECT));
    rc.Left -= 4;
    rc.Right += 3;
    rc.Top -= 4;
    rc.Bottom += 3;
    Marshal.StructureToPtr(rc, m.LParam, true);
    }

    base.WndProc(ref m);
    }
    }


    调用方法:new FullTabControl().AssignHandle(tabControl1.Handle);// tabControl1为窗口上TabControl控件的名称

    版权声明 作者:夏荣全
    网站:http://www.lyout.com 邮箱:lyout(at)163.com
    扣扣:249775085
    本文版权归作者所有,转载请注明出处:http://www.cnblogs.com/lyout/
  • 相关阅读:
    web中间件常见漏洞
    心脏滴血与利用
    mimikatz提取windows密码
    Linux文本编辑器
    Linux打包(归档 )压缩命令
    linux文件和目录命令
    SSL原理
    windows server 2008 安装步骤
    渗透测试术语
    centos 7 修改yum配置
  • 原文地址:https://www.cnblogs.com/lyout/p/2413972.html
Copyright © 2011-2022 走看看