Ir al contenido principal

Como obtener la forma padre de un control en C#

En WinForms no existe una forma directa, o que por lo menos yo conozca de traer todos los controles de algún tipo específico para un pre o post procesamiento.

Así que se tienen que recorrer todos los controles para ir procesando el tipo de control que se necesita.

Para esto se pueden encontrar en la red varios artículos.

Sin embargo, en el proyecto en el que me encuentro colaborando actualmente necesitaba hacer algo similar: Descubrir la Forma a la que pertenece un control.

Estuve buscando algo en la red que me pudiera asistir, pero no encontré nada que me fuera útil.

Así que me dispuse a escribir un método que me ayudara en mi tarea, y este es el resultado:

private Form DiscoverParentForm(Control control)
{
    Control parent = control.Parent;
    Type controlType = parent.GetType();
    
    if (!controlType.IsSubclassOf(typeof(Form)))
    {
        parent = DiscoverParentForm(parent);
    }
    
    return (Form)parent;
}


Si tiene que llevar a cabo esta tarea, pueden usar este método libremente, buena suerte!!!!!.

Comentarios

Entradas populares de este blog

Travesía en la compra de una tablet

Hacía ya tiempo que me estaba dando vueltas en la cabeza el obtener una tablet, luego al ver a @chochosmx en el SGCE2011 corriendo algunos ejemplos de Scala en su netbook me puse a pensar: - Que tal si mejor me compro una netbook? -. En fin en eso estuvieron parte de mis pensamientos las últimas semanas y según yo ya me había decidido a adquirir una tableta con Android, entonces que mejor que la Motorola XOOM pues hasta donde tenía entendido era una de las mejores (y pocas) comercializadas en México. Paso un poco de tiempo y me encontré que en una de las tiendas comerciales mas conocidas había una oferta en la que dicha tableta estaba un 25% por abajo de su precio, entnces me dije a mi mismo: - Esto es una señal - por lo que me dispuse a ir e intercambiarla por el precio solicitado, sin embargo cual fue mi sorpresa que al llegar a la antes mencionda tienda comercial con nombre de ciudad británica, la oferta ya había expirado... :-( Dada la desilusión sufrida me puse a dar vueltas

Sarah McLachlan Remix

Por algún tiempo busqué vocales para mis tracks, pero es algo difícil :S. Cual fue mi sorpresa cuando el mes pasado encontré una convocatoria para hacer un remix de una canción de nada más ni nada menos que de Sarah McLachlan... wow!!!... que mejores vocales :D, en seguida me bajé las pistas y comencé a trabajar. Después de mas o menos una semana de arduo trabajo :P quedó un track que fue de mi satisfacción. Después de algunos ajustes me di a la tarea de subirlo a la página de la convocatoria y... a esperar que la aceptaran para competir en el concurso. Y por fin hoy lo acaban de publicar . Me siento muy contento ya que si no gano el concurso por lo menos estaré compitiendo. ;) Si les late el track pueden votar por el aquí .

Blogging desde TextMate

En un artículo publicado en el blog de TextMate a mediados de Junio de este año  se anuncio un bundle que permite hacer publicaciones de artículos desde este gran editor a varios tipos de Blog engines tales como Wordpress y Typo entre otros. No había tenido mucho tiempo para experimentar un poco con él, pero el fin de semana pasado por fin jugué un rato con dicho bundle y fué una experiencia muy grata el ver que puedo hacer uso de todas las facilidades de edición de HTML que tiene TextMate para hacer mis publicaciones. Regularmente uso MarsEdit para publicar artículos en mi blog, sin embargo yo creo que en adelante estaré alternando el uso de este con TextMate ;).