2009-09-03 200 views
2

我有一个选项卡控件,我使用用户绘画来消除闪烁。它的闪烁清除效果很好,但标签宽度不正确。随着选项卡上文本的长度增加,文本周围的填充量会变大。这就像选项卡的宽度是基于比正在绘制的字体大的字体。我已经尝试更改选项卡控件上的字体大小,但这对选项卡宽度没有影响。.net tabcontrol标签尺寸

选项卡控件如何确定选项卡的宽度?有什么我可以重写,以便我可以提供标签宽度的选项卡控制?

+0

你有没有解决这个标签大小?我遇到了同样的问题,至今还没有解决这个问题 – series0ne 2013-09-19 12:45:51

回答

0

在使用自定义绘画之前,您是否尝试启用双缓冲以消除闪烁?

刚刚尝试调用这个函数在你的控制构造,看看它是如何工作的:

private void EnableDoubleBuffering() 
{ 
    this.SetStyle(ControlStyles.DoubleBuffer | 
     ControlStyles.UserPaint | 
     ControlStyles.AllPaintingInWmPaint, 
     true); 
    this.UpdateStyles(); 
} 
+0

设置UserPaint指定控件必须由子类上的OnPaint方法绘制。如果没有OnPaint方法,则不会绘制选项卡。只需设置DoubleBuffer不会消除闪烁。 – Glenn 2009-09-03 14:45:18

0

的TabControl的有一个叫ItemSize属性,它确实是用来通知TabControl的关于其标签的大小。

0

要改变,你必须做什么说伊恩(在ItemSize组必需的大小),并设置SizeMode属性为固定