проблема с компоновкой панели c # - PullRequest
1 голос
/ 24 февраля 2011

Я создал панель в приложении c #, которая содержит строки из 5 текстовых полей.

Текстовые поля добавляются на панель динамически. Ширина - 500 пикселей, ширина каждого текстового поля - 100 пикселей.

Первое текстовое поле находится в x-позиции 0, второе в 100, третье в 200 и так далее.

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

Может кто-нибудь сказать мне, почему эта разница в отображении текстовых полей?

Ответы [ 4 ]

2 голосов
/ 24 февраля 2011

Я думаю, что проблема заключается в отображении текстовых полей на компьютерах с различными темами Windows.С классическими элементами управления Windows он вычисляет пространство не так, как при включении тем на компьютере.

1 голос
/ 24 февраля 2011

Для этого может быть несколько разных причин. В зависимости от того, используете ли вы WinForms (что я предполагаю) или WPF. Существует система DPI, которую можно изменить в Windows. Windows Vista и 7 пользуются этим преимуществом больше. Другая проблема может быть с темами Windows (играть с темами гандикапа). Как проверить вашу систему DPI

1 голос
/ 24 февраля 2011

Пара вещей, которые нужно попробовать, убедитесь, что для свойства AutoSize установлено значение false на панели и в текстовых полях.Кроме того, убедитесь, что PreferredSize также установлен.

0 голосов
/ 23 мая 2019

У меня была похожая проблема, и я нашел эту ссылку: C # WinForms испортили контрольные позиции? , где изменение атрибута AutoScaleMode моей основной формы с Font на None или Inherit решило проблему (NB: изменение на Dpiне решил это).

...