Gå til innhold

automatisk initialisere og vise forms?


Anbefalte innlegg

Skrevet

Å iterere over types, ser ut til å gi resultater :D

dim assem As Reflection.Assembly = Reflection.Assembly.GetExecutingAssembly()

dim types as Type() = MyAssembly.GetTypes

Videoannonse
Annonse
Skrevet (endret)

Takk for alle svar, her er løsninga for å laste alle forms i dokumentet

 

       Dim assem As Assembly = Assembly.GetExecutingAssembly()
       Dim types As Type() = assem.GetTypes

       Dim frm As Form

 

      For Each potForm As Type In types
           If potForm.BaseType Is GetType(Form) Then
               If potForm.Name <> "Form1" Then

                   frm = Activator.CreateInstance(potForm)
                   frm.Show()
               End If
           End If

       Next

Endret av dabear
Skrevet
New blir alltid kjørt uansett.  InitializeComponent regner jeg blir kjørt automatisk fordi den arver av System.Windows.Form som kjører den.

9637522[/snapback]

Men definerer man en egen "New()" må man jo kalle InitializeComponent selv...

Skrevet
Det kan være ønskelig å generere knapper som åpner et vindu der oppgaven ligger. Istedet for å gjøre dette for hver oppgave, kunne jeg tenkt meg å automatisere dette. Jeg leiter rett og slett etter en collection som inneholder alt i my.Forms (denne er ikke iterabel, ser det ut til..)

9637389[/snapback]

 

OK. Du er med andre ord ikek ute etter kode besparelse, men funksjonalitet. Da ville jeg gjort som følger:

 

Lag en global List(of Form) og bruk denne. Det blir jo en collection du kan håndtere selv.

i Form1_Load kan du da legge inn noe slik:

 

gloListOfForms.add(this) - eventuellt ME

 

Så kan du loope listen

foreach(form f in gloListOfForms)
{
 f.show()
}

Igjen., utestet, men gir deg sikkert noen gode ideer....

Skrevet
Nå er det mulig jeg antar litt mye, men er det meninga å spamme brukeren med vinduer helt til systemet henger seg?  :thumbdown:

9641451[/snapback]

 

Tydeligvis.... :w00t:

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...