@VanArcher

Как задать изменение размеров формы Windows Form с сохранением соотношения сторон?

Добавляем элемент форма windows form(не WPF).

Необходимо чтобы размеры формы не теряли соотношения сторон.

Использую событие формы "SizeChanged", в нём строю изменение размеров формы, но почему-то не работает корректно при изменения ширины высота дёргается от большего значения к начальному, в итоге сохраняя своё начальное значение. А при изменении высоты ничего не происходит.

Есть заданные начальные значения размера формы width = width_ = 600 и height = height_ = 450 и заданы коэффициенты преобразования Height_K(width/height) и Width_K(height/width).
Код:

private void Form_book_SizeChanged(object sender, EventArgs e)
{
if (Width != Width_)
{
Height = Height + (Width - Width_) * Height_K;
Width_ = Width;
}
else
{
Width = Width + (Height - Height_) * Width_K;
Height_ = Height;
}
}
  • Вопрос задан
  • 538 просмотров
Пригласить эксперта
Ответы на вопрос 1
KMaxI
@KMaxI
Руководитель группы программистов
Нужно хранить предыдущие размеры окон в приватных переменных, и сравнивать новое значение с предыдущим.
И если они изменились, то исполнять код по изменению размера.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
02 июл. 2024, в 11:12
1000 руб./за проект
02 июл. 2024, в 11:03
2000 руб./в час
02 июл. 2024, в 10:49
100000 руб./за проект