С# - растягивание текстового поля в соответствии с окном

Я хочу, чтобы текстовое поле оставалось на некотором расстоянии от верхнего, нижнего, левого и правого краев родительской формы и растягивалось, как это делает окно.

В настоящее время у меня есть:

private void Form1_SizeChanged(object sender, EventArgs e)
{
    richTextBox1.Size = new System.Drawing.Size(this.ClientSize.Width - 24, richTextBox1.Size.Height);
}

... для ширины, но мне интересно, правильно это или нет. Есть ли лучший способ?

Ответ 1

Как сказал Мозе, вам нужно Anchor свойство управления

Используйте свойство Anchor , чтобы определить, как элемент управления автоматически изменен, поскольку его родительский элемент управления изменен. Закрепление элемента управления родительский контроль гарантирует, что закрепленные края остаются в одном и том же по отношению к краям родительского элемента управления, когда родительский управление изменено.

Но также из моего опыта не забывайте назначать MinimumSize и   MaximumSize для управления этими свойствами помогает элементу управления иметь определенный минимальный или максимальный размер, если вы измените размер вашей формы слишком малой или слишком большой.

Ответ 2

вы также можете использовать свойство Док:

richTextBox1.Dock = DockStyle.Fill;