Det er ikke nødvendigvis den seneste aktive mdi child form jeg skal styre.
Husk på min beskrivelse:
1 MDI parent form kaldet frmMDI 1 MDI child form kaldet frmMain 1 MDI child form kaldet frmManageProject
Jeg skal fra frmManageProject som er child, styre caption på alle instanser af frmMain (som også er child).
Jeg har i frmManageProject et listview med en række projekter der kan åbnes. Når jeg åbner et project instantieres en ny frmMain.
Lad os forestille sig at jeg har 10 projekter i mit listview foraf jeg har 3 åbne. Jeg har altså 3 instanser af frmMain. Fra en kolonne i listviewet kan jeg ændre navnene på projekterne. Disse skal fremgå i caption på alle frmMain instanserne. Så jeg ønsker på listview controllens AfterLabelEdit event at opdatere caption på alle instanserne af frmMain.
Private Sub Command1_Click() Dim objForm As Form Dim strFormname As String
strFormname = LCase$("frmMain") ' (frmMain/child) ' Gennemløber alle forms For Each objForm In Forms ' Tjekker om Form navn er strFormname (frmMain/child) If LCase$(objForm.Name) = strFormname Then ' Her kan du så gøre hvad du ønsker. MsgBox "Caption = " & objForm.Caption ' Her kan du så gøre hvad du ønsker. End If Next End Sub
Lad os forestille sig os jeg har 10 projekter i min listview control, foraf jeg har 3 åbne. Jeg har altså 3 instanser af frmMain. Fra en kolonne i listview controllen kan jeg ændre navnene på projekterne. Disse skal fremgå i caption på alle frmMain instanserne. Så jeg ønsker på listview controllens AfterLabelEdit event at opdatere caption på netop den instans of frmMain der indeholder det projekt der får nyt navn.
For at jeg nu kan sikre mig at jeg får matched det rigtige project med den rigtige instans af en form, havde jeg tænkt mig at bruge et felt i mit listview der består af en GUID. Denne GUID bliver læst in i en for frmMain instansen lokal variabel GUID_frmMain. Dvs at den række i listviewet for hvilken AfterLabelEdit eventen fyrer har en GUID der skal matche med den GUID der ligger i GUID_frmMain instansen
Jeg har altså brug for at kunne tilgå GUID_frmMain variablen fra min AfterLabelEvent!
Kan det lade sig gøre. Findes der noget som en slags indirekte reference til variablen - noget a la - !strFormname.GUID_frmMain ???
jeg brugte din kode og løb gennem form objecterne, - tilgik så GUID'en vha. objForm.GUID_frmMain - Der efter var det ikke svært at matche den med den i listviewet valgte GUID.
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.