hej! Förslag: Jodå. Fortsätter att använda samma bokstavsförkortningar.. :)Ladda om grid i annat fönster
Jag bygger en windows-app i c#. Jag använder en mdi-parent form som sedan innehåller en massa mdi-childs. När man avslutar en child-form vill jag uppdatera innehållet i en grid i ett annat fönster. Har labbat en hel del, och även sökt på google men inte hittat något vettigt. Nån som har förslag på hur man löser det?
mvh
henrikSv: Ladda om grid i annat fönster
X=mdi parent.
Y=Avslutande mdi-child.
Z=mdi-child som du vill uppdatera.
Lägg till en eventhandler till close-eventet för Y (i X).
När Y stängs har du en pekare till denna och kan med hjälp av X.MdiChildren få tag på det andra formuläret.
Öppna upp scopet på någon funktion så att du kommer åt det du vill i Z från X och skicka in det du vill/exekvera de uppdateringar du vill ska ske i Z.
Hehe, mycket X,Y och Z.. :)
Mvh
PeterSv: Ladda om grid i annat fönster
I Y (skulle även kunna använda det vanliga closing-eventet men det kanske ska ske vid andra tidpunkter också(?)):
<code>
Public Event NuStangerJagNerMig()
Private Sub Y_Closing(ByVal sender As Object, ByVal e As _
System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
RaiseEvent NuStangerJagNerMig()
End Sub
</code>
I Z av typen [Z-type]:
<code>
Public sub UpdateData()
'Uppdatera de data som behövs
End sub
</code>
I X:
<code>
Private Sub frmEditPost_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler Y.NuStangerJagNerMig, addressof FilldataToZ
End Sub
Private Sub FilldataToZ()
For Each mdi As Form In Me.MdiChildren
if TypeOf mdi is [Z-type] then
ctype(mdi,[Z-type]).UpdateData()
exit for
end if
Next
End Sub
</code>
Lite krångligare med events i C# har jag för mig men lycka till iaf :)
Mvh
Peter