Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[VB 2005] List alle forms

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor mijn applicatie ben ik een 'settings-scherm' aan het maken.
Hiervoor wil ik (in een listbox) de namen weergeven van alle formulieren.

Nu lukt het mij niet om de namen van alle forms op te halen.

Ik heb het geprobeerd met:

Visual Basic .NET:
1
2
3
for each f as form in my.forms
lst.items.add(f.name)
next f


maar dit werkt niet (mag niet met my.forms). Nu kan ik het wel ophalen van alle open forms maar ik wil juist ALLE forms. Kan iemand mij vertellen hoe dit moet?
Ik heb al heel wat gezocht en kreeg wel een oplossing voor VB 6.0, maar deze werkt niet meer in VB.net en hoger.

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Zoek maar eens op reflection. Van elke 'Type' kun je ook nagaan welke interfaces implementeert en welke classes (Form) deze implementeert (IsSubClassOf).

Je kunt natuurlijk ook een eigen attribute maken en deze op elke Form zetten welke je wilt kunnen terug vinden (zodat bijvoorbeeld een dialog wordt overgeslagen).

If it isn't broken, fix it until it is..


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:48
Via reflection in je assembly gaan zoeken naar alle types die een Form zijn ?

/laat-komt-ervan-als-je-eerst-topics-opent-en-dan-replies-gaat-typen

[ Voor 31% gewijzigd door whoami op 17-04-2008 11:17 ]

https://fgheysels.github.io/


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Dit is een lastig probleem. Bepaalde smerige (mijn mening) truuks van VB6 zijn niet meer beschikbaar in VB.Net. En daar is dit er 1 van. Meer hierover is te vinden in:
http://msdn2.microsoft.co...rary/aa289529(VS.71).aspx

Wat je kunt doen is met reflection door je assembly itereren, al je form classes identificeren, een instance hiervan aanmaken en vervolgens de name property uitlezen. Dit brengt wat overhead met zich mee en mogelijk andere problemen, maar zo zou je het kunnen aanpakken.

edit:
grtvr! ff mijn idee aan het verifieren op Internet en ik ben alweer te laat :P

[ Voor 8% gewijzigd door bigbeng op 17-04-2008 11:17 ]


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Plak er een attribuut aan en haal die op met reflection, dan heb je geen overhead van het instantieren of andere rare effecten.

ASSUME makes an ASS out of U and ME