Как увеличить высоту формы вместе с высотой текстового поля в приложении C# winform?
У меня есть многострочное TextBox в моем приложении WinForm с Multiline = True, Scrollbar = Vertical & WordWrap = True. Что я хочу сделать, так это то, что всякий раз, когда я достигаю нижней части текстового поля (вводя текст или нажимая клавишу ввода), я хочу, чтобы высота формы увеличивалась вместе с высотой текстового поля (точно так же, как в приложении StickyNote в Windows). Я не знаю с чего начать? Пожалуйста помоги.
редактировать
Ниже мой код
private void txtNote_TextChanged(object sender, EventArgs e)
{
int currentHeight = txtNote.Height;
int newHeight = 0;
newHeight = txtNote.PreferredHeight * txtNote.Lines.Length;
if (newHeight > currentHeight)
{
//** Sriram's suggestion
//this.ClientSize = new Size(this.ClientSize.Width, txtNote.PreferredHeight * txtNote.Lines.Length);
//** Hans's suggestion
Size sz = new Size(txtNote.ClientSize.Width, int.MaxValue);
TextFormatFlags flags = TextFormatFlags.WordBreak;
int padding = 3;
int borders = txtNote.Height - txtNote.ClientSize.Height;
sz = TextRenderer.MeasureText(txtNote.Text, txtNote.Font, sz, flags);
int h = sz.Height + borders + padding;
if (txtNote.Top + h > this.ClientSize.Height - 10)
{
h = this.ClientSize.Height - 10 - txtNote.Top;
}
txtNote.Height = h;
}