Размещение элементов управления Windows Forms в собственной Windows, класс окна=“Статический”

StackOverflow https://stackoverflow.com/questions/1835332

  •  11-09-2019
  •  | 
  •  

Вопрос

Мне нужно предоставить элемент управления Windows Forms собственному приложению (Visual Studio).
Итак, я создаю элемент управления и предоставляю его дескриптор.

Затем, когда я проверяю собственное окно с помощью Spy ++, я вижу, что мой элемент управления обернут в дополнительный "control" с window class = "Static" и заголовком "Это статический!".У меня есть несколько проблем с этим:

  1. Изменение размера событий, отправленных моему элементу управления окном хостинга, должно быть повторно отправлено "Статическому", чтобы оно также изменяло размер (в противном случае мой элемент управления будет частично скрыт в пределах размера статического элемента).
  2. Статика не имеет WS_EX_CONTROLPARENT, который вызывает KB149501 появляться (короче говоря, все приложение зависает из-за потери фокуса).
  3. Если я подам заявление WS_EX_CONTROLPARENT, listbox внутри static перестает перерисовываться.

Мне кажется, я делал что-то не так, но я не уверен, что именно.Google не помогает, поскольку static также является ключевым словом C #, поэтому оно довольно часто встречается в результатах WinForms.

Это было полезно?

Решение

В основном я решил проблему с перерисовкой, используя DoubleBuffered = True , так что, вероятно, это все.
Я все еще думаю, что делаю что-то неправильно, но, по крайней мере, сейчас это работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top