1. 程式人生 > >textbox根據內容自動調整高度

textbox根據內容自動調整高度

高度 多行模式 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根據內容自動調整高度