2012-12-18 45 views
3

如何在設計器模式下防止標籤控件中的文字換行,而它的自動大小設置爲false?防止使用AutoSize = false的標籤換行

基本上我想在設計師模式下自由移動和調整標籤大小,但其文本應該總是在一行(如果需要的話)。

感謝您的幫助!

回答

1

我能想到這樣做是爲了創建一個繼承標籤的自定義控制和重寫OnPaint方法的唯一途徑。

public class CustomLabel : Label 
{ 
    public CustomLabel() 
    {    
    } 

    protected override void OnPaint(PaintEventArgs e) 
    { 
     e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), 0, 0); 
    } 
} 

的缺點是,如果你要考慮到textAlign設置,空白和邊距你需要自己進行計算在paint方法。

3

你想在設計器模式下還是在運行時阻止它只有

正如你所提到的'如果需要切'!

我建議你看看: Label.AutoEllipse

+0

不幸的是,AutoEllipse不會在設計器模式下更改標籤行爲。是的,我不關心運行時間,只有設計師模式。 – zgorawski