2012-08-27 13 views
5

Cuando arrastro y coloco un objeto ToolTip en mi formulario en C#, cada control en el formulario obtiene una nueva propiedad llamada ToolTip que no existía antes . Intento crear algo como ToolTip para que cuando lo arrastre y lo coloque en mi formulario, todos los controles obtengan automáticamente su nueva propiedad.Cómo puedo asignar una función o propiedad a todas las otras clases como información sobre herramientas

También agradecería que alguien pudiera darme una definición para que yo pueda editar mi pregunta y comunicar mejor mi intención y significado.

Respuesta

6

Lo que se busca es un "Extender Provider". Muy simplemente, en realidad no agrega la nueva propiedad a las cuadrículas de los controles. En su lugar, implementa una interfaz que busca el diseñador de VS, que le dice a VS cómo "transformar" el conjunto de propiedades en la cuadrícula a una llamada al proveedor del extensor para realmente hacer el truco.

Además de la información sobre herramientas, los paneles de diseño como TableLayoutPanel y FlowLayoutPanel hacen cosas similares, así como ciertos otros "componentes de meta-ventana".

+0

+1 para la explicación simple. –

4

ToolTip es un Extender Provider. La documentación completa para implementarlo es here, con un ejemplo completo here.

información sobre herramientas probable que se llevaría a cabo de esta manera:

[ProvideProperty("ToolTip", typeof(IComponent))] 
class ToolTip : IExtenderProvider {...} 
Cuestiones relacionadas