我试图让textbox
动态更改其高度,同时保持固定的width
。当text
太长而且太过于第二行时,不是resize
。c#动态更改textboxwithfont高度
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'事件中调用上述内容?对我来说看起来很好。 – James
文本只设置一次,并且在任何大小设置完成之前设置,我将编辑原始文章以显示示例。 – Joeeigel
我认为你正在更新作为循环的一部分?如果它应该是固定的,你不应该每次都设置宽度。 – James