LISTAR FORMULARIOS DO PROJETO
Salve, Salve pessoal....
Estou retomando os estudos em C#, e as vezes me pego em pequenos detalhes que parece até ridÃculo....
Bem neste caso não estou conseguindo uma simples coisas(simples para quem desenvolve em vb.net).
Em VB.NET para eu carregar em uma variável, todos os formulários do projeto basta eu fazer assim :
Este código, carrega os formularios do projeto na variável frms conforme imagem abaixo.
A pergunta é :
Como proceder desse mesmo modo em C#.
Desde já agradeço...
Estou retomando os estudos em C#, e as vezes me pego em pequenos detalhes que parece até ridÃculo....
Bem neste caso não estou conseguindo uma simples coisas(simples para quem desenvolve em vb.net).
Em VB.NET para eu carregar em uma variável, todos os formulários do projeto basta eu fazer assim :
Dim frms As Object
frms = My.Forms
Este código, carrega os formularios do projeto na variável frms conforme imagem abaixo.
A pergunta é :
Como proceder desse mesmo modo em C#.
Desde já agradeço...
Foxman...
Como o Ocelot disse, não tem algo parecido no C#...
Mas dá para fazer..
Eu faço assim:
Não sei se é o melhor modo, mas funciona...
Como o Ocelot disse, não tem algo parecido no C#...
Mas dá para fazer..
Eu faço assim:
List<Form> myForms = new List<Form>();
Assembly asm = Assembly.GetExecutingAssembly();
Type[] types = asm.GetTypes();
for (int i = 0; i < types.Length; i++)
{
if (types[i].IsPublic && types[i].BaseType == typeof(Form))
{
myForms.Add((Form)asm.CreateInstance(types[i].FullName));
}
}
foreach (Form myForm in myForms)
{
MessageBox.Show(myForm.ToString());
}
Não sei se é o melhor modo, mas funciona...
Pavillion, vou testar aqui, mas acredito que não vá funcionar, pois eu preciso de todas as propriedades e objetos dos forms relacionados.....
Citação::
Pavillion, vou testar aqui, mas acredito que não vá funcionar, pois eu preciso de todas as propriedades e objetos dos forms relacionados.....
Quando o cidadão é CRU, fala coisa que não sabe neh.....rsrsrsrsrs
Citação::
Foxman...
Como o Ocelot disse, não tem algo parecido no C#...
Mas dá para fazer..
Eu faço assim:
List<Form> myForms = new List<Form>();
Assembly asm = Assembly.GetExecutingAssembly();
Type[] types = asm.GetTypes();
for (int i = 0; i < types.Length; i++)
{
if (types[i].IsPublic && types[i].BaseType == typeof(Form))
{
myForms.Add((Form)asm.CreateInstance(types[i].FullName));
}
}
foreach (Form myForm in myForms)
{
MessageBox.Show(myForm.ToString());
}
Não sei se é o melhor modo, mas funciona...
Cara PERFEITO, era isso mesmo que eu queria, peço até desculpa pela opnião antecipada, é que como eu disse estou iniciando.....
O [Ô]BAGAÇO[Ô] ficou tão bom que teriei economizei umas 50 linhas de código....ficou show.....
Valeu mesmo..........
Tópico encerrado , respostas não são mais permitidas