我不喜歡TabControl
,它們看起來很醜。所以我創建了我自己定製的TabControl
。標題高度有一些問題。我的控制樣子如下:在TabControl中增加頁眉的寬度和高度
控制構造:
this.SetStyle(ControlStyles.UserPaint, true);
this.SetStyle(Conbut trolStyles.OptimizedDoubleBuffer, true);
SetStyle(ControlStyles.AllPaintingInWmPaint, true);
this.DrawMode = TabDrawMode.OwnerDrawFixed;
而且OnPaintBackground
:
var g = pevent.Graphics;
var Count = this.TabCount - 1;
int Offset = 2;
int index = 0;
foreach (TabPage itemtab in this.TabPages)
{
//SizeF sz = g.MeasureString(itemtab.Text, this.Font);
var tabrect = this.GetTabRect(index);
var headerrect = new Rectangle(tabrect.Left + Offset, tabrect.Y, tabrect.Width, tabrect.Height);
DrawRoundedRectangle(g, Headerbrush, headerrect, 3);
g.DrawString(itemtab.Text, this.Font, textbrush, headerrect, str);
if (index < Count) index++;
}
我想加入這一行:
this.ItemSize = new Size(100, 30);
但在更改字體大小或標題文本時,寬度返回錯誤的值。
有增長方式的寬度和頭部的高度?
ItemSize.Width對頭部大小沒有任何影響,除非將'SizeMode'設置爲'Fixed'。 –