Pregunta

Estoy intentando crear mi propio control desplegable de estilo Autocompletar personalizado en c # .net2.0. Para la velocidad de desarrollo, he construido mi control como UserControl, pero he encontrado un problema al hacerlo de esta manera.

Cuando se dibuja el desplegable personalizado dibujado, tengo que cambiar el tamaño del área UserControl para poder mostrar la lista de opciones.

Idealmente, quiero poder imitar el comportamiento de la lista drodpown en el sentido de que la lista de opciones se dibuja como 'flotante' y no está restringida por la altura y el ancho de UserControls (ni tampoco los límites de los formularios padre). Una información sobre herramientas es otro ejemplo del 'flotante' sin restricciones que deseo.

La única forma en que puedo pensar en lograr esto es crear sobre la marcha un nuevo formulario sin borde ni barra de título y mostrarlo cuando se requiera la ventana emergente.

¿Hay una forma mejor (pero también rápida) de hacer esto?

TIA

¿Fue útil?

Solución

Necesitaría utilizar un formulario o NativeWindow para permitir que el control flote correctamente. Hacer que un formulario siga el control es bastante fácil, pero es más difícil de implementar y manejar todos los problemas de enfoque / ocultación, especialmente si necesita tabulación / navegación de teclas sin problemas.

Otros consejos

Puede intentar crear un control basado en el control del botón desplegable ToolStrip. Creo que este control tiene la funcionalidad que estás buscando. Encontré esta referencia para crear controles basados ??en ToolStrip, puede intentar comenzar con esto.

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top