Размещение элементов управления Windows Forms в собственной Windows, класс окна=“Статический”
-
11-09-2019 - |
Вопрос
Мне нужно предоставить элемент управления Windows Forms собственному приложению (Visual Studio).
Итак, я создаю элемент управления и предоставляю его дескриптор.
Затем, когда я проверяю собственное окно с помощью Spy ++, я вижу, что мой элемент управления обернут в дополнительный "control" с window class = "Static" и заголовком "Это статический!".У меня есть несколько проблем с этим:
- Изменение размера событий, отправленных моему элементу управления окном хостинга, должно быть повторно отправлено "Статическому", чтобы оно также изменяло размер (в противном случае мой элемент управления будет частично скрыт в пределах размера статического элемента).
- Статика не имеет
WS_EX_CONTROLPARENT
, который вызывает KB149501 появляться (короче говоря, все приложение зависает из-за потери фокуса). - Если я подам заявление
WS_EX_CONTROLPARENT
, listbox внутри static перестает перерисовываться.
Мне кажется, я делал что-то не так, но я не уверен, что именно.Google не помогает, поскольку static также является ключевым словом C #, поэтому оно довольно часто встречается в результатах WinForms.
Решение
В основном я решил проблему с перерисовкой, используя DoubleBuffered = True , так что, вероятно, это все.
Я все еще думаю, что делаю что-то неправильно, но, по крайней мере, сейчас это работает.