Форма Windows неуклюже "изменяет размеры" при запуске - PullRequest
0 голосов
/ 30 мая 2018

Я использую Windows 10, Visual Studio 2017 и пишу приложение для формы на C # Windows.

У меня есть приложение для формы Windows, которое я пишу (частично в попытке улучшить свои навыки написания таких вещей),Я хорошо спроектировал свою форму, все размечено и правильно настроено, но когда я нажимаю клавишу F5, чтобы запустить форму для ее отладки, я обнаруживаю, что она загружается примерно на 75% от размера, который я вижу в конструкторе.

Это изменение размера кажется немного удачным, с ранее выровненными кнопками, которые больше не были таковыми, и текст больше не помещается в его пространствах (см. Рис. - верхняя часть показывает конструктор, а нижняя показывает фактическую форму запуска).

enter image description here

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

Ответы [ 3 ]

0 голосов
/ 30 мая 2018

При разработке формы форма автоматически устанавливает опорные точки в верхнем левом углу.Вы должны будете установить точки привязки к вашей форме.

Стиль привязки работает следующим образом.На элементе управления, если вы установите точки привязки на:

Top / Right, тогда элемент управления останется в верхнем правом углу.Вверху / влево, тогда элемент управления остается в верхнем левом углу.Внизу / вправо, затем регулятор остается в правом нижнем углу.Внизу / слева, тогда элемент управления остается внизу слева.Вершина тогда остается на вершине.Внизу то и остается внизу.Слева, то остается слева.Прямо тогда это остается справа.Верх / низ тянется сверху вниз.Влево / вправо растягивается слева направо.

Теперь, когда вы привязываете элемент управления к любой из этих комбинаций, они останутся в этом месте, когда форма развернута.Элементы управления также могут быть привязаны друг к другу.

Надеюсь, это поможет.

Также вот урок, который я сделал по этому поводу .:

https://youtu.be/wlZ6pt79v1E

0 голосов
/ 30 мая 2018

точно отражает окончательный вид формы

Внешний вид вашей формы в основном определяется конечным пользователем.Шрифт, размер, цвет, масштаб, контраст ... все это находится под контролем пользователей, а не у вас.

Рассмотрите возможность использования разделенных панелей и, возможно, некоторых потоковых панелей.Привыкайте «произвольно определять размеры» формы, когда вы думаете, что закончили проектирование, чтобы увидеть, как она реагирует на «неправильный размер».Кто-то найдет способ уменьшить или увеличить вашу форму, и обработать его изящно проще, чем принудительно создать представление.

0 голосов
/ 30 мая 2018

Вы изменили размер шрифта всей формы?По умолчанию в конструкторе WinForms установлено

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

, попробуйте изменить режим AutoScaleMode и посмотреть, что произойдет.

У меня возникали похожие проблемы с конструктором WinForms, когда размер шрифта по умолчанию (в свойстве формы) не равен 8,25pt.Я не знаю почему, но похоже, что это связано с конфигурацией рабочего стола и / или экрана.Не уверен, но некоторые странные поведения могут быть ошибками (WinForms теперь довольно старый ...).

AutoScaleMode.Font означает, что масштабирование формы основано на размере шрифта.Так что попытка изменить различные настройки шрифта может решить проблему.

надеюсь, что это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...