Winforms Создание выпадающего стиля панели - PullRequest
2 голосов
/ 29 апреля 2009

Я пытаюсь создать свой собственный выпадающий элемент управления стилем автозаполнения в c # .net2.0. Для ускорения разработки я создал свой элемент управления как UserControl, но столкнулся с вопросом, как это сделать.

Когда вырисовывается пользовательский выпадающий список, мне нужно изменить размер области UserControl, чтобы иметь возможность отображать список опций.

В идеале я хочу иметь возможность имитировать поведение списка drodpown в том, что список опций отображается «плавающим» и не ограничен высотой и шириной UserControls (и даже границами родительских форм). Всплывающая подсказка является еще одним примером безусловного «плавающего», которое я желаю.

Единственный способ добиться этого - создать на лету новую форму без рамки или строки заголовка и отобразить ее, когда потребуется всплывающее окно.

Есть ли лучший (но также быстрый) способ сделать это?

1011 * ТИА *

Ответы [ 2 ]

1 голос
/ 02 мая 2009

Вы можете попытаться создать элемент управления, основанный на элементе управления раскрывающейся кнопки ToolStrip. Я считаю, что этот элемент управления имеет ту функциональность, которую вы ищете. Я нашел эту ссылку для создания элементов управления на основе ToolStrip, вы можете попробовать начать с этого.

http://blogs.msdn.com/jfoscoding/attachment/1335869.ashx

1 голос
/ 29 апреля 2009

Вам потребуется использовать Form или NativeWindow, чтобы позволить элементу управления плавно перемещаться. Создать форму, следуя элементу управления, достаточно просто, но сложнее реализовать и обработать все проблемы с фокусировкой / скрытием, особенно если вам нужна плавная навигация с помощью вкладок / клавиш.

...