Windows窗體中的標簽的自動換行我們?nèi)绾卧赪indows窗體中獲得標簽的自動換行功能?我在一個面板中放置了一個標簽,并添加了一些動態(tài)標簽的文字。但它超出了面板長度。我怎么解決這個問題?
3 回答

蠱毒傳說
TA貢獻1895條經(jīng)驗 獲得超3個贊
快速回答:關(guān)閉 AutoSize。
這里的一個大問題是標簽不會自動改變其高度(僅寬度)。為了實現(xiàn)這一點,您需要對標簽進行子類化并包含垂直調(diào)整大小邏輯。
基本上你在OnPaint中需要做的是:
測量文本的高度(Graphics.MeasureString)。
如果標簽高度不等于文本的高度設(shè)置高度并返回。
畫出文字。
您還需要在構(gòu)造函數(shù)中設(shè)置ResizeRedraw樣式標志。

幕布斯6054654
TA貢獻1876條經(jīng)驗 獲得超7個贊
實際上,接受的答案是不必要的復雜。
如果將標簽設(shè)置為AutoSize,它將隨您放入的任何文本自動增長。(這包括垂直增長。)
如果要使其以特定寬度進行自動換行,可以設(shè)置MaximumSize屬性。
myLabel.MaximumSize = new Size(100, 0);myLabel.AutoSize = true;
經(jīng)過測試和工作。

慕桂英4014372
TA貢獻1871條經(jīng)驗 獲得超13個贊
在我的情況下(面板上的標簽)我設(shè)置label.AutoSize = false
和label.Dock = Fill
。標簽文本會自動換行。
- 3 回答
- 0 關(guān)注
- 698 瀏覽
添加回答
舉報
0/150
提交
取消