Jag har skapat en MDI-container där jag laddar in formulär (mdi child) när jag klickar på menyn (main frame). Du får skicka med en referens till rätt instans av frmKundorder när du öppnar frmSok.Problem med MDI
Problemet är följande scenario:
Om jag klickar på tex "Order" i menyn, visas frmKundorder genom att jag skapar en ny instans av det formuläret. I det formuläret har jag en knapp (Hämta kund). När jag klickar på den knappen så skapas en ny instans av frmSok formuläret och det visas i MDI containern. Där söker jag fram kunder som visas i en listview. När jag sedan klickar i listview ska frmKundorder visas och alla kunduppgifter från den valda kunden laddas in i textboxar. Hur kommer jag åt det tidigare skapade instanserna för tex frmKundorder? Om jag skapar en ny instans av frmKundorder när jag skickar kunduppgifterna frå frmSok så har jag två instanser av frmKundorder vilket innebär att det första öppnade frmKundorder formuläret är tomt medans det nya visar värdena. Hur ska jag hantera detta så att jag bara kan använda ett formulär?
Hoppas ni förstod allt detta :-)Sv: Problem med MDI
Skapa en variabel i frmSok som håller reda på rätt frmKundorder.
Dim mittFormulär as frmKundorder
Skapa en metod i frmSok som lagrar referensen:
Public Sub SetKundFormulär(a as frmKundorder)
mittFormulär = a
End Sub
När du öppnar frmSok gör du såhär:
Dim a as New frmSok
a.SetKundFormulär Me
a.Show
I frmSok använder du variabeln mittFormulär för att "kontakta" rätt formulär.
Nu har jag skrivit från huvudet utan att testa, så det finns säkert fel, men denna principen kan du använda!
/Johan