c# – 垂直自動調整文字框控制元件
當文字載入到文字框中時,我希望它自動垂直展開,以便我不需要滾動文字框(如果有更多的文字不適合面板,最多滾動面板).
有沒有辦法用文字框做這個? (我沒有限制使用這個控制元件,所以如果有另一個控制元件適合描述,隨意提及它)
我會假設這是一個多行文字框,並允許它垂直增長.此程式碼執行良好:
private void textBox1_TextChanged(object sender, EventArgs e) { Size sz = new Size(textBox1.ClientSize.Width, int.MaxValue); TextFormatFlags flags = TextFormatFlags.WordBreak; int padding = 3; int borders = textBox1.Height - textBox1.ClientSize.Height; sz = TextRenderer.MeasureText(textBox1.Text, textBox1.Font, sz, flags); int h = sz.Height + borders + padding; if (textBox1.Top + h > this.ClientSize.Height - 10) { h = this.ClientSize.Height - 10 - textBox1.Top; } textBox1.Height = h; }
當文字框為空時,您應該做一些合理的事情,例如設定MinimumSize屬性.
http://stackoverflow.com/questions/2893059/autoresize-textbox-control-vertically