我假设这是一个多行文本框,并且您将允许它垂直增长。该代码运行良好:
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属性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)