.NET 解决TabControl 页里面多余边距问题经验分享
遇到向TabPage添加内容时留白的问题,相信许多开发者都曾遇到过这样的困扰。今天,我将为大家分享两种解决方案,希望能帮助你解决这个难题。
```csharp
///
/// 解决系统TabControl多余边距问题
///
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);
}
}
}
```
```csharp
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);
}
}
```
要使用这个方法,只需创建一个FullTabControl对象并为其分配句柄即可,例如:`new FullTabControl().AssignHandle(tabControl1.Handle);` 其中tabControl1为窗口上的TabControl控件的名称。需要注意的是,该方法涉及到底层Windows编程,因此需要具备一定的经验才能确保代码的稳定性和安全性。版权归原作者所有,如需联系作者或了解更多细节,可以通过邮件lyout@163.(地址部分需要自行填写完整的地址)。希望这些解决方案能帮助你解决遇到的问题。也感谢夏荣全先生的分享和贡献。
编程语言
- .NET 解决TabControl 页里面多余边距问题经验分享
- 用ASP生成UTF-8网页文件的两种方法
- SQL高级应用之使用SQL查询Excel表格数据的方法
- easyui combotree加载静态数据问题(选不上)解决方
- php如何执行非缓冲查询API
- 在SQLserver数据库之间进行传表和传数据的图文教
- 总结javascript三元运算符知识点
- innerHTML中标签可以换行的方法汇总
- SqlServer给表增加多个字段的语法
- asp cookie中文Javascript取得中文cookie
- php判断上传的Excel文件中是否有图片及PHPExcel库认
- js实现简单排列组合的方法
- Adnroid 微信内置浏览器清除缓存
- angularjs通过过滤器返回超链接的方法
- layer.open弹层查看缩略图的原图,自适应大小的实例
- AJAX聊天室V1.0发布