我正在使用標簽來顯示消息。GetPreferredSize()我已經(jīng)使用方法計算了標簽的大小。當我沒有對標簽大小時進行任何操作時,此方法工作正常。但是,當我減小標簽的寬度時,文本會被剪裁。\n但是,如果我在要顯示的文本末尾包含一個換行符 ( ),則在前一種情況下被剪裁的文本將顯示在下一行中。這是我試過的。label1.Text = "Are you sure you wish to cancel? \n You will permanently discard any information you have entered!";label1.Font = new Font(new FontFamily("Calibri"), 15); Size textSize = label1.GetPreferredSize(Size.Empty); //Works fine.label1.Size = textSize;textSize.Width -= 25;label1.Size = textSize;// Text is clipped.label1.Text = "Are you sure you wish to cancel? \n You will permanently discard any information you have entered! \n "; //Works fine again!參考圖片, 標簽文字如果該方法根據(jù)內(nèi)容計算標簽的大小,為什么內(nèi)容在 case2 中被裁剪而在 case3 中效果很好?寬度和高度有什么關(guān)系?誰能解釋我錯過了什么?謝謝,
3 回答

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
Size sz = new Size(this.Width, Int32.MaxValue);
sz = TextRenderer.MeasureText(this.Text, this.Font, sz, TextFormatFlags.WordBreak);
this.Height = sz.Height;
“這個”是你的控制權(quán)。
- 3 回答
- 0 關(guān)注
- 138 瀏覽