textbox根據內容自動調整高度
阿新 • • 發佈:2018-03-22
高度 多行模式 eas textbox box 測量 屬性 ret height
首先將Textbox改為多行模式,設置MutliLine屬性為True,對於textbox中文本有回車的,直接通過textbox.lines.count()可以獲取到行數。
但是單行無回車的文本如何知道自動換行狀態下,高度呢?
首先使用Size size = TextRenderer.MeasureText(textBox2.Text, textBox1.Font);進行測量,然後進行計算,以下代碼較粗,僅拋磚引玉。
/// <summary> /// 根據文本內容設置textbox高度 /// </summary> ///<param name="txt1"></param> private void SettxtHeight(TextBox txt1) { int txtHeight = 22;//設置單行的行高 int MaxLineCount = 10;//設置最大行數 Size size = TextRenderer.MeasureText(txt1.Text, textBox1.Font); int itxtLine = size.Width / txt1.Width + txt1.Lines.Count()+ 1; if (itxtLine > MaxLineCount) { itxtLine = MaxLineCount; } txt1.Height = txtHeight * itxtLine; }
textbox根據內容自動調整高度