【发布时间】:2013-06-15 17:48:05
【问题描述】:
我正在尝试让textbox 动态更改其高度,同时保持固定的width。当text 太长并且超出第二行时,textbox 不会resize。
textbox 在添加所有文本后调整大小。
以下是我目前正在使用的。
txtwfSupportNotes[i].Multiline = true;
txtwfSupportNotes[i].Text += ds.Tables[0].Rows[i]["Notes"].ToString()
+ "\r\n\r\n";
Size txtSize = TextRenderer.MeasureText(txtwfSupportNotes[i]
.Text, txtwfSupportNotes[i].Font);
txtwfSupportNotes[i].Width = 355;
txtwfSupportNotes[i].Height = txtSize.Height+5;
txtwfSupportNotes[i].BorderStyle = BorderStyle.FixedSingle;
编辑:得到了修复,见下文。
Size txtSize = TextRenderer.MeasureText(txtwfSupportNotes[i].Text, txtwfSupportNotes[i].Font, txtwfSupportNotes[i].ClientRectangle.Size, TextFormatFlags.WordBreak);
txtwfSupportNotes[i].Height = txtSize.Height+5;
【问题讨论】:
-
您是否在
TextChanged事件中调用上述内容?我觉得很好。 -
文本只设置一次,并且在任何大小调整完成之前设置,我将编辑原始帖子以显示示例。
-
我认为您将其更新为循环的一部分?如果应该固定宽度,则不必每次都设置宽度。