Kinjal Sucess Ответов: 2

Как сделать приложение win form отзывчивым ?


Мы разработали POS-систему с использованием приложения windows ,но есть требование сделать ее отзывчивой ,что невозможно.

у нас есть еще один вариант, чтобы преобразовать его в WPF, но это потребует больше времени.

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

у любого есть предложение сделать приложение windows form, которое настраивается в соответствии с разрешением экрана.

2 Ответов

Рейтинг:
14

OriginalGriff

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

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

Вы можете это сделать, но это серьезная работа - WPF справляется с ней намного лучше!

Другое решение-перепроектировать пользовательский интерфейс, чтобы он хорошо работал в нескольких разрешениях точно так же, как это делает tat Visual Studio: центральное "рабочее пространство" со всеми инструментами в панелях, которые плавают или закрепляются по краям. Но для POS-системы это, вероятно, непрактично!


Рейтинг:
0

Member 13416831

Вы можете оценить TableLayoutPanel и убедиться, что столбцы и строки определяются в процентах, а не в абсолютных значениях. Вам также нужно будет разработать стыковку и якорь для отдельных элементов управления.

Если вы ищете макет для переключения, скажем, с горизонтального на вертикальный, то вам нужно будет работать с событием изменения размера формы.


Kinjal Sucess

спасибо за ответ, но он не работает для динамически создаваемых элементов управления, таких как панель, метка, кнопка, изображения. это не делает 100% отзывчивую форму.