[VB.NET] Dynamisch gegenereert form op basis van ander form

Pagina: 1
Acties:

  • The__Virus
  • Registratie: Januari 2005
  • Laatst online: 10:25
Ik ben een MDI applicatie aan het maken. In de MDI parent wil ik dynamisch gegenereerde forms openen, die gebaseerd zijn op een bepaald form.
De MDI child waarop het nieuwe form gebaseerd moet zijn, moet er identiek uitzien, dezelfde controls hebben etc. Nu kan ik al die controls handmatig laten maken, maar dat is veel te veel werk. Bovendien kan ik achteraf dingen veel lastiger aanpassen. Het basisform wil ik dus gewoon in de designer kunnen maken.

Daarna wil ik dit form dynamisch opnieuw laten maken, hetzij met een aantal andere variabelen. Het idee is om in de parent een aantal bestanden te openen (allemaal tekstbestanden) en bij dubbelklikken op de bestandsnaam uit een lijst een standaard venster tevoorschijn krijgen, dat eruitziet als het basisform. Alleen deze moet dus dit specifieke bestand aanpassen en geen andere, dus er zullen wat variabelen, zoals de naam, het te bewerken bestand etc. veranderd moeten worden. Dit veranderen is nog te doen door dit:
Visual Basic .NET:
1
frma.Controls.Item("lbltitel").Text = bestandsnaam

Alleen hoe krijg ik het voor elkaar dat al die forms eruitzien als dat basisform? Het moet dus mogelijk zijn om in principe oneindig veel van dit soort vensters te krijgen die er vrijwel identiek uitzien (op een paar teksten na), maar verschillende bestanden bewerken.

  • Serpie
  • Registratie: Maart 2005
  • Laatst online: 01-07-2023
Wellicht even zoeken naar "visual inheritance" en daar wat artikelen over lezen, volgens mij precies wat je zoekt.
[Edit]
Of niet, want je wilt het dynamisch |:( ..

Maar wat is het probleem om van 1 form meerdere instanties aan te maken, en daar via parameters en/of properties wat in wijzigen?

Visual Basic .NET:
1
2
3
4
5
6
7
Dim frmA as new frmBase
frmA.lbltitel.Text = bestandsnaam
frmA.show

Dim frmB as new frmBase
frmB.lbltitel.Text = bestandsnaam2
frmB.show

[ Voor 69% gewijzigd door Serpie op 11-03-2007 15:48 ]


  • The__Virus
  • Registratie: Januari 2005
  • Laatst online: 10:25
Aah op die manier is dat dus mogelijk! Ik dacht dat van een form telkens maar één instantie kon worden gedraaid óf je moest een nieuw form maken. Heb al een hele tijd er mee zitten vogelen, is de oplossing zo simpel :X. Bedankt :).