我有一個選項卡控件,我使用用戶繪畫來消除閃爍。它的閃爍清除效果很好,但標籤寬度不正確。隨着選項卡上文本的長度增加,文本週圍的填充量會變大。這就像選項卡的寬度是基於比正在繪製的字體大的字體。我已經嘗試更改選項卡控件上的字體大小,但這對選項卡寬度沒有影響。.net tabcontrol標籤尺寸
選項卡控件如何確定選項卡的寬度?有什麼我可以重寫,以便我可以提供標籤寬度的選項卡控制?
我有一個選項卡控件,我使用用戶繪畫來消除閃爍。它的閃爍清除效果很好,但標籤寬度不正確。隨着選項卡上文本的長度增加,文本週圍的填充量會變大。這就像選項卡的寬度是基於比正在繪製的字體大的字體。我已經嘗試更改選項卡控件上的字體大小,但這對選項卡寬度沒有影響。.net tabcontrol標籤尺寸
選項卡控件如何確定選項卡的寬度?有什麼我可以重寫,以便我可以提供標籤寬度的選項卡控制?
在使用自定義繪畫之前,您是否嘗試啓用雙緩衝以消除閃爍?
剛剛嘗試調用這個函數在你的控制構造,看看它是如何工作的:
private void EnableDoubleBuffering()
{
this.SetStyle(ControlStyles.DoubleBuffer |
ControlStyles.UserPaint |
ControlStyles.AllPaintingInWmPaint,
true);
this.UpdateStyles();
}
設置UserPaint指定控件必須由子類上的OnPaint方法繪製。如果沒有OnPaint方法,則不會繪製選項卡。只需設置DoubleBuffer不會消除閃爍。 – Glenn 2009-09-03 14:45:18
的TabControl的有一個叫ItemSize屬性,它確實是用來通知TabControl的關於其標籤的大小。
要改變,你必須做什麼說伊恩(在ItemSize組必需的大小),並設置SizeMode屬性爲固定
你有沒有解決這個標籤大小?我遇到了同樣的問題,至今還沒有解決這個問題 – series0ne 2013-09-19 12:45:51