我正在使用标签来显示消息。GetPreferredSize()我已经使用方法计算了标签的大小。当我没有对标签大小时进行任何操作时,此方法工作正常。但是,当我减小标签的宽度时,文本会被剪裁。\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!参考图片, 标签文字如果该方法根据内容计算标签的大小,为什么内容在 case2 中被裁剪而在 case3 中效果很好?宽度和高度有什么关系?谁能解释我错过了什么?谢谢,
3 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
Size sz = new Size(this.Width, Int32.MaxValue);
sz = TextRenderer.MeasureText(this.Text, this.Font, sz, TextFormatFlags.WordBreak);
this.Height = sz.Height;
“这个”是你的控制权。
- 3 回答
- 0 关注
- 111 浏览
添加回答
举报
0/150
提交
取消