2010-03-19 23 views
7

Bir form çalıştırdığım projedeki tüm formların listesini almak istiyorum.VS2008 C# projesinde formların listesi nasıl alınır?

i 4 formları 1.Form1 2.Form2 3.Form3 4.Form4

sahip bir proje çalıştırıyorum ve ben hangi form yönlendirmek için yol göstermesi için bunların listesini almak isteyen varsayalım

+1

Tasarım zamanı veya çalışma zamanı sırasında bunları almak ister misiniz? –

+0

Çalışma Zamanı :) Application.Openforms koleksiyonunu biliyorum ama formlarım açık değilse o zaman nasıl tüm koleksiyonun listesini alabilirim – Mobin

cevap

11

için Şunu yapın:

  1. Tasarım zamanı?
  2. Çalışma zamanı?

çalışma zamanı varsa, demek yapın: projede tanımlanan

  1. Tüm formlar?
  2. tüm açık formlar

Tasarım zamanında, o zaman ben bilmiyorum.

Eğer çalışma zamanında kastediyorsanız ve tüm formların beyan edilmesini istiyorsanız, yansıma başvurmanız gerekir. Derlemenizdeki (/ ler) tüm türlerde yineleyin ve Form sınıfından miras kalan tüm türleri bulun. Böyle

şey yapacağını:

Eğer çalışma anında demek ve açık olan tüm formları istiyorsanız
Type formType = typeof(Form); 
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) 
    if (formType.IsAssignableFrom(type)) 
    { 
     // type is a Form 
    } 

, sen Application.OpenForms kullanabilirsiniz.

+0

evet bunu istiyorum sanırım. Ama nerede tatmin formu form için nesne almak Eğer "if" durumu – Mobin

+0

lütfen Son durum mu demek istiyorsun? Yapamazsın, ya canlı, var olan, form nesneler istiyorsun ya da henüz var olan ya da olmayan tüm olası türleri istiyorsun. İkisini de isterseniz ikisini birleştirmeniz gerekecek. İstediğin şeyi detaylandırır mısın? Ve "evet sanırım bunu istiyorum", birden fazla şeyi listelediğimde size yardım etmeme yardımcı olmuyor, yani * ne * istiyorsun. –

+0

Tamam o zaman ben RUNTIME ve TÜM FORMLAR PROJESİNDE TANIMLANMIŞ TÜM FORMLARDA formların nesnelerinin listesini istediğinizi söyleyebilirim. Bu, sorgumu anlamanıza yardımcı olur ve evet, niyetlerimi anlatmanın uygun bir yolu olmadığını anladım: lolz – Mobin

İlgili konular