Расположение StatusStrip в нижней части окна в Windows Forms
Я пытаюсь держать строку состояния на одном уровне с левым нижним углом реализуемого окна без переполнения. У меня есть это, чтобы оставаться на месте, имея функцию изменения размера, которая обновляет местоположение и размер строки состояния, но нижняя и правая ее сторона всегда выходят за пределы окна. Вот как я вычисляю, куда это должно идти.
statusBar.Location = new System.Drawing.Point(0, Form.Size.Height - 22);
statusBar.Size = new System.Drawing.Size(Form.Size.Width, 22);
Где 22 - постоянная высота, я хочу, чтобы statusBar был. Я знаю, что должна быть какая-то другая переменная, которую я не принимаю во внимание при настройке, которая хранится в форме, но я не уверен, как получить к ней доступ или что это вообще такое.
Что я делаю неправильно? И есть ли еще какой-нибудь более простой способ сохранить строку состояния в нижней части окна независимо от событий изменения размера?
2 ответа
Вы должны использовать ClientSize
вместо Size
,
Следующие:
textBox1.AppendText(Size.ToString() + "\r\n");
textBox1.AppendText(ClientSize.ToString() + "\r\n");
выходы:
{Width=300, Height=300}
{Width=284, Height=262}
Хотя, конечно, проще всего использовать ответ Бу.