Adityakumar2318 Ответов: 2

Как сделать размер оконной формы адаптивным для каждого типа разрешения экрана?


I want to make size of Window  form responsive for every type of screen resolution. 
I am developing this app on the screen size of 1366 * 768.
But its not working as expected for other screen ressolution like 1420 * 1080

I dont want to use WPF application.

Thanks in advance.


Что я уже пробовал:

I have alredy used TableLayOut Panel,FlowlayOut Panel, Dock and Anchor.
But i am not getting expected result.

Can i write my custom code to make window form responsive? If yes, then any tiny help will be more valuable sir.

I dont want to use WPF application.

Thanks in advance.

Ralf Meier

Чтобы сделать предложение, необходимо (для меня) знать, чего именно вы пытаетесь достичь.
Что я сделал в прошлом :
Я создал макет формы со всеми ее элементами управления на основе заданного разрешения (обычно самого маленького). Теперь у меня есть размер-фактор в зависимости от разработанного размера экрана и фактического размера экрана, с помощью которого вы можете изменять размер и перемещать каждый элемент управления на форме в форме.Это событие-способ.
Но... если вы хотите сделать это таким образом, вы должны знать, что это стоит вам некоторой (большой) работы.
Ты все еще хочешь пойти этим путем ?

2 Ответов

Рейтинг:
6

Midi_Mick

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


Midi_Mick

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

Adityakumar2318

Огромное спасибо. Принял ваше решение. Но я не хочу использовать свойство якоря и Дока. Я должен управлять из него только кодом.

Рейтинг:
15

OriginalGriff

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

Обычно эти проблемы возникают, когда вы уменьшаете разрешение, но это не единственный фактор: разные ПК могут быть настроены на работу с разными коэффициентами масштабирования, чтобы текст на маленьком экране был больше, чем, например, на большом. Возможно, именно это и сбивает вас с толку.

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

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


Adityakumar2318

Огромное спасибо. Принял ваше решение.

OriginalGriff

Пожалуйста!