如何在行数改变时使textBox改变其高度

时间:2014-12-06 21:30:23

标签: c# winforms textbox

我使用两个文本框进行了usercontrol。其中一个是多行,其他文本框是单行,它位于多行文本框的底部。我想根据内容行数更改多行文本框的高度,并在视觉上将单行文本框粘贴到此多行文本框中(两个文本框之间没有间距)。

1 个答案:

答案 0 :(得分:1)

这是你在找什么?

SizeF size;
private void textBox1_TextChanged(object sender, EventArgs e)
{
    using (Graphics G = textBox1.CreateGraphics())
        size = G.MeasureString("Xy_", textBox1.Font, 999);

    textBox1.Height = (int)(textBox1.Lines.Count() * size.Height + 5);
    textBox2.Top = textBox1.Bottom - 1;
}

使用线确实可以并且应该移动到Form构造函数。根据您的字体和边框,您需要调整两个校正数字。