[置顶] C#自定义控件之-TabControl美化

时间:2022-08-31 08:40:38

使用C#开发了很多桌面应用程序,一直苦恼于系统自带的控件太丑,网上资源又太乱,因此为了以后自己使用和方便他人从这篇博文开始,陆续把自己收集整理的各类控件分享给大家一块学习,有不对的地方还请大家指出。不废话了,今天的主角是-----TabControl

问题一:tabpage无法占满整个tabcontrol

tabcontrol在客户端中使用的频率还是挺高的,但是系统自带的tabcontrol通过属性无法改变控件四周的间距,tabpage无法占满整个tabcontrol

解决方法:自定义控件继承tabcontrol,然后重写其显示区域的大小,通过改变tabcontrol的显示区域来间接使tabpage占满整个控件。

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

问题二:无法隐藏tabcontrol的标签

tabcontrol控件自带的样式无法隐藏标签,对于一些追求界面美化的人(比如博主)这一点是难以接受的,为了解决这个问题,以下是从各个途径获得的解决办法。

解决方法一:使用panel容器,添加tabcontrol控件,调整tabcontrol大小,使标签部分不显示即可。

解决方法二:设置ItemSize属性未(0,1),可以使标签高度缩小到1,但是不能完全消除,为了不让拿1高度影响整体,建议标签文字设为空即可。

该文章已同步到个人博客http://netcoreblog.com,欢迎来踩。

[置顶]        C#自定义控件之-TabControl美化

[置顶]        C#自定义控件之-TabControl美化