Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9

Неправильная прорисовка формы?

13.11.2017, 22:28. Показов 5651. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, столкнулся с довольно необычной проблемой, в интернете ничего подобного не нашел. Используя стандартные средства Windows Forms в дизайнере нарисовал форму. При попытке запуска приложения - получаю это (скриншот 1). При попытке изменения размера в меньшую сторону - все адекватно меняется (скриншот 2). При увеличении - расширяется только по оси x (скриншот 3). В окне properties для формы ничего не менял.
Visual Studio 2017, последняя версия. Зная Windows, возможно проблема в моем разрешении экрана (3200х1800)? Хотя его изменение на стандартные 1080p ничего не меняет, и проблема остается такой же. Буду рад любой помощи, спасибо.
Миниатюры
Неправильная прорисовка формы?   Неправильная прорисовка формы?   Неправильная прорисовка формы?  

0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2017, 22:28
Ответы с готовыми решениями:

Глючит .Net+WinForms - неправильная прорисовка
Проблема прорисовки WinForms (а в частности ToolStripComboBox, GroupBox, CheckedListBox, просьба глянуть прикрепления ). GroupBox глючили...

Где и как происходит прорисовка формы
Где в коде в самом тривиальном WinForms приложении происходит прорисовка формы?

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

16
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
14.11.2017, 03:55
Хах. Этот момент надо настраивать руками. Как минимум выставлять свойство Anchor. Также можно выставлять минимальный/максимальный размер окна. Есть ещё вариант запихать все контролы формы в TableLayoutPanel и задать им свойство Dock.Fill.
2
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
14.11.2017, 04:24  [ТС]
Цитата Сообщение от Aferuga Посмотреть сообщение
Хах. Этот момент надо настраивать руками. Как минимум выставлять свойство Anchor. Также можно выставлять минимальный/максимальный размер окна. Есть ещё вариант запихать все контролы формы в TableLayoutPanel и задать им свойство Dock.Fill.
Мы, наверное, друг друга не поняли. Ну или я просто не совсем точно разъяснил в начале темы. Мне совершенно не нужно динамически менять размеры формы и, соответственно, полей внутри нее (насколько я понял, свойство Anchor отвечает именно за это). Мне она нужна нерастягивающейся, с фиксированными границами. Проблема в том, что то, что я вижу в дизайнере, и то, что вылезает, когда я запускаю программу - отличается (посмотрите первое изображение, я там форму не уменьшал, это то, что появилось сразу после запуска). Я пробовал играться со значением FormBorderStyle, делать его Fixed, но ничего не выходит. Что бы я не делал, при запуске обрезается нижняя часть формы. И чтобы увидеть ее полностью, нужно делать FormBorderStyle = Sizeable и ручками после запуска растягивать форму сверху вниз.
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
14.11.2017, 09:27
Цитата Сообщение от BPaul Посмотреть сообщение
Мы, наверное, друг друга не поняли.
Хм. Да согласен не так понял.
Судя по всему у вас где-то в коде меняется размер формы.
Цитата Сообщение от BPaul Посмотреть сообщение
возможно проблема в моем разрешении экрана (3200х1800)?
Сильно сомневаюсь.

Добавлено через 10 минут
Как вариант можно установить MinimumSize = {0;n} где n размер вашей формы по умолчанию.
1
Эксперт .NET
 Аватар для Rius
13042 / 7609 / 1663
Регистрация: 25.05.2015
Сообщений: 23,150
Записей в блоге: 14
14.11.2017, 11:11
BPaul, выложите файлы формы и приложение для её вывода, демонстрирующее проблему.
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 02:02  [ТС]
Цитата Сообщение от Aferuga Посмотреть сообщение
Как вариант можно установить MinimumSize = {0;n} где n размер вашей формы по умолчанию.
Да, я тоже об этом подумал. К сожалению, никакого эффекта.

Цитата Сообщение от Rius Посмотреть сообщение
BPaul, выложите файлы формы и приложение для её вывода, демонстрирующее проблему.
Прикрепляю архив с проектом.
Вложения
Тип файла: rar Lab10.rar (613.5 Кб, 9 просмотров)
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
15.11.2017, 02:33
Цитата Сообщение от BPaul Посмотреть сообщение
Прикрепляю архив с проектом.
У меня пишет что архив поврежден.
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 02:55  [ТС]
Цитата Сообщение от Aferuga Посмотреть сообщение
У меня пишет что архив поврежден.
Хм, странно. Только что перепроверил - у меня все в порядке..
Ну раз так - вот ссылка на тот же проект в dropbox:
Кликните здесь для просмотра всего текста
0
 Аватар для Aferuga
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
15.11.2017, 03:22
Цитата Сообщение от BPaul Посмотреть сообщение
Ну раз так - вот ссылка на тот же проект в dropbox:
Да, так сработало.
Хотя в результате при запуске размер какой выбираю такой и получается и этой проблемы не возникает. Возможно что-то с настройками системы или студии.
Как вариант можно указать
Кликните здесь для просмотра всего текста
C#
1
2
3
4
private void Form1_Load(object sender, EventArgs e)
{
this.Height = 685;
}

До той поры пока не найдете первопричину.
1
Эксперт .NET
 Аватар для Rius
13042 / 7609 / 1663
Регистрация: 25.05.2015
Сообщений: 23,150
Записей в блоге: 14
15.11.2017, 17:18
BPaul, попробуйте поресайзить форму из вложения:
Вложения
Тип файла: zip BPaul.zip (208.1 Кб, 7 просмотров)
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 17:45  [ТС]
Цитата Сообщение от Aferuga Посмотреть сообщение
this.Height = 685;
Да, это помогло, спасибо.

Цитата Сообщение от Rius Посмотреть сообщение
BPaul, попробуйте поресайзить форму из вложения:
Попробовал. Все отображается правильно. Это должно о чем-то говорить?
0
Эксперт .NET
 Аватар для Rius
13042 / 7609 / 1663
Регистрация: 25.05.2015
Сообщений: 23,150
Записей в блоге: 14
15.11.2017, 17:46
Лучший ответ Сообщение было отмечено BPaul как решение

Решение

У вас, возможно, нестандартный DPI в настройках. Windows Forms с этим слегка не дружит.
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 17:49  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
У вас, возможно, нестандартный DPI в настройках. Windows Forms с этим слегка не дружит.
В настройках Windows или студии? Потому что для Windows я действительно ставил сторонний фикс DPI, который убирает размазанные шрифты в некоторых приложениях из-за высокого разрешения.
0
Эксперт .NET
 Аватар для Rius
13042 / 7609 / 1663
Регистрация: 25.05.2015
Сообщений: 23,150
Записей в блоге: 14
15.11.2017, 17:51
В Windows.
Вот из-за этого стороннего "фикса" и поехало всё.
Такие проблемы со старыми программами у тех, кто ставит не 100% масштаб интерфейса, и меняет DPI.
1
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 17:57  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
В Windows.
Вот из-за этого стороннего "фикса" и поехало всё.
Такие проблемы со старыми программами у тех, кто ставит не 100% масштаб интерфейса, и меняет DPI.
Действительно, отключил его и все стало отображаться как надо. Спасибо за помощь!
0
Эксперт .NET
 Аватар для Rius
13042 / 7609 / 1663
Регистрация: 25.05.2015
Сообщений: 23,150
Записей в блоге: 14
15.11.2017, 18:00
Ну это не решение вовсе. Глюк остался, просто вы вернулись на стандартные настройки, что у большинства пользователей.
Но у некоторых интерфейс отмасштабирован и там ваша программа будет создавать вот такие же проблемы.
0
0 / 0 / 0
Регистрация: 23.02.2017
Сообщений: 9
15.11.2017, 20:26  [ТС]
Цитата Сообщение от Rius Посмотреть сообщение
Ну это не решение вовсе. Глюк остался, просто вы вернулись на стандартные настройки, что у большинства пользователей.
Но у некоторых интерфейс отмасштабирован и там ваша программа будет создавать вот такие же проблемы.
Ну, на данный момент мне это совершенно не критично, потому как это приложение дальше жесткого диска моего компьютера все равно не уйдет.
Да и теперь решить эту проблему можно будет самостоятельно, просто погуглив про нестандартный DPI и Windows Forms. Ведь стало понятно, где корень проблемы находится. Уверен что в интернете есть какие-то готовые решения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.11.2017, 20:26
Помогаю со студенческими работами здесь

Прорисовка
есть такая функцияф в делфи Application.ProcessMessages Подскажите аналог в шарпе.

Прорисовка полигона
Здравствуйте! Я хочу нарисовать полигон некоторой толщины, а потом залить его. ConturWidth = 25; ...

Прорисовка DataGridView
Всем провер, столкнулся с такой проблемой, если загрузить из базы в DataGridView сроки в колличестве более 10000 на 18 ячейк, то нормальная...

Прорисовка на pictureBox
Есть pictureBox, на котором рисую движение картинки. После того, как картинка достигнет определенных координат, вызывается отрисовка label...

Мерцает прорисовка в Panel
Подскажите. как можно решить проблему "дрожи" изображения при рисовании в Panel??? Начинаю рисовать и все дрожит...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Ноутбук (на замену), о котором я и не подозревал, что он у меня появится.
Programma_Boinc 28.12.2025
Ноутбук (на замену), о котором я и не подозревал, что он у меня появится. Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием "Ноутбук (на замену), о котором я и не. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru