textbox根據內容自動調整高度


首先將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;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM