Avatar billede zyber Nybegynder
27. februar 2003 - 12:56 Der er 12 kommentarer og
1 løsning

List alle froms i en application

Hvordan kan jeg finde alle froms i min application. Der er både almindelige forms som ikke har noget parent og så er der forms der har mdiparent.
Avatar billede burningice Nybegynder
27. februar 2003 - 13:23 #1
from eller form?
Avatar billede zyber Nybegynder
27. februar 2003 - 13:31 #2
ups.
Det er forms
Avatar billede burningice Nybegynder
27. februar 2003 - 13:35 #3
well... en form er jo egentlig ikke andet end en klasse, så du kan lave en funktion der via Reflection lister alle klasser i dit program som nedarver fra System.Windows.Forms.Form ?

hvis du skal have hjælp til selve koden kan jeg godt prøve at se om jeg kan hitte ud af noget
Avatar billede zyber Nybegynder
27. februar 2003 - 13:39 #4
Du må meget gerne lave et eksempel, så kan jeg sagtens lave det færdigt udfra det.
Avatar billede burningice Nybegynder
27. februar 2003 - 14:05 #5
jeg kan ikke lige teste det nu, men lige på stående fod, viljeg tro det er noget i den her retning

            foreach (System.Type t in System.Reflection.Assembly.GetCallingAssembly().GetTypes())
            {
                MessageBox.Show(t.BaseType.FullName);
            }

meld lige tilbage hvad outputtet af den kode giver
Avatar billede burningice Nybegynder
27. februar 2003 - 19:00 #6
sådan... så har jeg fået testet koden og fundet frem til at dette giver dig navnene på alle klasserne i din application som arver fra Form

            foreach (System.Type t in System.Reflection.Assembly.GetCallingAssembly().GetTypes())
            {
                if (t.BaseType == typeof(Form))
                {
                    MessageBox.Show(t.ToString());
                }
            }
Avatar billede zyber Nybegynder
27. februar 2003 - 19:20 #7
Perfekt, skulle lige til at kigge på det.

Læg lige et svar så jeg kan lukke spørgsmålet da jeg går udfra at det virker.
Avatar billede burningice Nybegynder
27. februar 2003 - 19:27 #8
er det ikke nemmere hvis du lige tester om det nu også er det du skal have :)
Avatar billede zyber Nybegynder
27. februar 2003 - 20:02 #9
Jeg har nok ikke forklaret mig ordentlig i første omgang. For jeg er kun interesset i forms som der findes en instance af.
Avatar billede burningice Nybegynder
27. februar 2003 - 20:10 #10
uhm.. forms der er vist på skærmen, eller forms som er oprettet som object?
Avatar billede burningice Nybegynder
27. februar 2003 - 20:19 #11
umiddelbart vil jeg tro at du skal have en static label i alle dine form-klasser som ligesom fungerer som et index for hvor mange instanser der findes af en given klasse. Hver gang du opretter en instans lægges der een til dette index, og hver gang objectet nedlægges igen trækkes der en fra...

på den måde kan du løbe igennem alle dine klasser og skrive dem ud hvor index er > 0
Avatar billede zyber Nybegynder
27. februar 2003 - 20:22 #12
Selvfølgelig, jeg har allerede et singleton object som indeholder alt muligt applicationsdata. Og der kan jeg bare holder styr på de forms som jeg senere skal vide om er åbnet eller ej. Så klarer jeg det selv.

Du må gerne få pointene alligevel.
Avatar billede burningice Nybegynder
27. februar 2003 - 21:49 #13
:) godt nok... det lader du til at have helt styr på :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester