#c# #winforms #datagridview #resolution
Вопрос:
У меня такая проблема: мой модуль формы неожиданно меняет разрешение во время выполнения.
У меня есть модуль формы, который содержит представление DataGrid, и когда я запускаю форму, все в порядке, форма отображается правильно. Однако, когда я перетаскиваю форму, она внезапно меняет разрешение, и я не могу найти объяснения.
Целевой платформой приложения является .NET 4.5.2
Я проверил, что проблема возникает при вызове методов обновления и обновления в компоненте DataGridView, но, несмотря на бесчисленные попытки, я не понимаю, в чем проблема.
this.dataGridView.BeginInvoke(new Action(() => this.dataGridView.Update()));
this.dataGridView.BeginInvoke(new Action(() => this.dataGridView.Refresh()));
Ниже приведены сведения о форме и компоненте DataGridView
Спасибо всем за помощь
Комментарии:
1. Я бы проверил, есть ли у вас какие-либо настройки автоматического изменения размера окна. Он может попытаться подогнать размер окна под содержимое.
2. спасибо @R. Czq Авторазмер формы является ложным, авторазмер-это шрифт
3. Каковы параметры масштабирования DPI / шрифтов вашего устройства? support.microsoft.com/en-us/windows/…
4. @MarcelPiquet Я бы затем попытался установить режим автоматического масштабирования в значение » нет » и посмотреть, окажет ли это какое-либо влияние. Вы также можете попробовать поиграть с режимом AutoSizeColumnsMode в представлении DataGrid и установить для него значение «нет». Если любая из этих 2 вещей поможет, вы можете попытаться определить, какая из них вызывает проблему. Вы также можете попробовать создать макет проекта с аналогичным кодом, чтобы посмотреть, произойдет ли это и с упрощенной версией вашего кода.
Ответ №1:
Я обнаружил, что проблема заключалась не в макете/свойствах формы и не в настройках компонента DataGridView, но она была вызвана сторонней библиотекой: GemBox.Pdf, которая каким-то образом была чувствительна к DPI экрана.
Ввод [assembly: System.Windows.Media.DisableDpiAwareness]
в файл AssemblyInfo.cs решил проблему
Большое спасибо всем за помощь!!