Formularios en Proyecto

21/10/2009 - 23:23 por Edilberto Arteaga | Informe spam
Hola a todos,
Mil disculpas porque esta pregunta la habia hecho antes pero no la
encuentro, como obtengo el listado de formularios en un proyecto windowsform

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
21/10/2009 - 23:37 | Informe spam
"Edilberto Arteaga" wrote in message
news:
Hola a todos,
Mil disculpas porque esta pregunta la habia hecho antes pero no la
encuentro, como obtengo el listado de formularios en un proyecto
windowsform




¿Cómo quieres obtenerlo, en tiempo de diseño, o por programación desde
dentro del ejecutable?

Si es lo segundo (por programación), podrías usar Reflection para
enumerar todas las clases que hay en el ensamblado (y todos sus Modules, si
metes forms en DLLs), y por cada clase comprobar si hereda de
System.Windows.Form.

Si es en tiempo de diseño, lo ideal sería que tuvieras los forms bien
organizados en carpetas, y separados de otros tipos de fuentes (tales como
clases auxiliares), de forma que con un simple "DIR" del directorio adecuado
te saliese el listado. Pero si no es asi, hay un truco: dile al Visual
Studio que añada un formulario heredado. Entonces te pregunta que de qué
formulario quieres heredar, y te presenta una lista de todos los formularios
del proyecto para que elijas el que quieres. Ahi tienes tu lista. Después
dices "Cancelar" para que no se añada nada al proyecto.
Respuesta Responder a este mensaje
#2 Edilberto Arteaga
22/10/2009 - 18:43 | Informe spam
Lo necesito en tiempo de ejecución, listar el total de formularios del EXE


"Alberto Poblacion"
escribió en el mensaje de noticias:
"Edilberto Arteaga" wrote in message
news:
Hola a todos,
Mil disculpas porque esta pregunta la habia hecho antes pero no la
encuentro, como obtengo el listado de formularios en un proyecto
windowsform




¿Cómo quieres obtenerlo, en tiempo de diseño, o por programación desde
dentro del ejecutable?

Si es lo segundo (por programación), podrías usar Reflection para
enumerar todas las clases que hay en el ensamblado (y todos sus Modules,
si metes forms en DLLs), y por cada clase comprobar si hereda de
System.Windows.Form.

Si es en tiempo de diseño, lo ideal sería que tuvieras los forms bien
organizados en carpetas, y separados de otros tipos de fuentes (tales como
clases auxiliares), de forma que con un simple "DIR" del directorio
adecuado te saliese el listado. Pero si no es asi, hay un truco: dile al
Visual Studio que añada un formulario heredado. Entonces te pregunta que
de qué formulario quieres heredar, y te presenta una lista de todos los
formularios del proyecto para que elijas el que quieres. Ahi tienes tu
lista. Después dices "Cancelar" para que no se añada nada al proyecto.

Respuesta Responder a este mensaje
#3 Edilberto Arteaga
23/10/2009 - 05:43 | Informe spam
esto es lo que ocupaba, ya lo encontre mil gracias

using System.Reflection;

Assembly asm = Assembly.GetExecutingAssembly();
Module[] mods = asm.GetModules();
foreach (Module mod in mods)
{
Type[] tipos = mod.GetTypes();
foreach (Type tipo in tipos)
{
if (tipo.IsSubclassOf(typeof(Form)))
{
FieldInfo[] campos tipo.GetFields(BindingFlags.Public|BindingFlags.NonPublic);
foreach (FieldInfo campo in campos)
{
if (campo.FieldType.IsSubclassof(typeof(Control)))
{
//Este campo representa un Control
string nombre = campo.Name; //por ejemplo
...
}
}
}
}
}

http://www.developersdex.com/csharp/message.asp?p12&ID=%%3E


"Alberto Poblacion"
escribió en el mensaje de noticias:
"Edilberto Arteaga" wrote in message
news:
Hola a todos,
Mil disculpas porque esta pregunta la habia hecho antes pero no la
encuentro, como obtengo el listado de formularios en un proyecto
windowsform




¿Cómo quieres obtenerlo, en tiempo de diseño, o por programación desde
dentro del ejecutable?

Si es lo segundo (por programación), podrías usar Reflection para
enumerar todas las clases que hay en el ensamblado (y todos sus Modules,
si metes forms en DLLs), y por cada clase comprobar si hereda de
System.Windows.Form.

Si es en tiempo de diseño, lo ideal sería que tuvieras los forms bien
organizados en carpetas, y separados de otros tipos de fuentes (tales como
clases auxiliares), de forma que con un simple "DIR" del directorio
adecuado te saliese el listado. Pero si no es asi, hay un truco: dile al
Visual Studio que añada un formulario heredado. Entonces te pregunta que
de qué formulario quieres heredar, y te presenta una lista de todos los
formularios del proyecto para que elijas el que quieres. Ahi tienes tu
lista. Después dices "Cancelar" para que no se añada nada al proyecto.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida