Я пытаюсь создать пользовательский элемент управления, который будет обеспечивать перетаскиваемый разделитель между двумя панелями - точно так же, как SplitContainer - в пользовательской реализации IDesignerHost. Сам SplitContainer, насколько я могу судить, не вариант; оно вызовет исключение, если оно не используется в конструкторе Visual Studio.
Моя реализация будет выглядеть примерно как this , за исключением того, что я не получаю необходимые события мыши. Я пробовал обработчики событий, On*
переопределения и переопределения WndProc
в самом пользовательском элементе управления, элементе управления хоста и родительской форме, но я не получаю WM_MOUSEMOVE
, WM_LBUTTONDOWN
или WM_LBUTTONUP
события везде . За этот отчет об ошибке , я должен получить WM_MOUSEMOVE
в «конструкторе элементов управления»; Я не уверен, к чему это относится в данном случае.
Есть идеи, как я могу реализовать перетаскиваемый сплиттер?