[VB .Net][Forms] Interaction entre deux forms
Bonjour,
Avant d'aller plus loin, j'ai déjà lu les post suivants :wink: :
- [Résolu] [C#] Acceder à la méthode d'une autre form
http://www.developpez.net/forums/vie...iable&start=15
- [Résolu] [VB.NET] Portée des composant - Truc bête
http://www.developpez.net/forums/vie...E9der+variable
- [VB.NET]Passage de Parametre entre WinForm
http://www.developpez.net/forums/vie...380557&start=0
J'ai deux forms dans mon applications, Form1 qui ait lancé à l'execution de l'appli et SelectForm qui est lancée par Form1:
Dans Form1 j'ai:
Code:
1 2 3
|
Public dialForm As Form = New SelectForm
Public DATA_REP As String = "D:\_Jerome\Projets\Visa\VisaLight\don" ' Répertoire des données VISA Light |
et
Code:
1 2 3 4 5 6
|
Private Sub B_Settings_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B_settings.Click
dialForm.ShowDialog()
End Sub |
Dans SelectForm, j'ai
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
Private repertoire_fichier As String
Private type_periode As Integer
Public toto As String
...
Public Function getDataDir() As String
Return Me.repertoire_fichier
End Function
Public Function getTypePeriode() As Integer
Return Me.type_periode
End Function |
J'aimerais pouvoir faire dans Form1, après avoir validé SelectForm, c'est
DATA_REP = dialForm.getDataDir()
Question annexe:
un Close sur une Form est ce que ça détruit (désalloue) toutes les variables qu'elle contient ?
Re: [VB .Net][Forms] Interaction entre deux forms
Utilises plutôt un accesseur qu'une fonction dans SelectForm:
Code:
1 2 3 4 5 6 7 8 9 10
|
Private Const repertoire_fichier ="D:\_Jerome\Projets\Visa\VisaLight\don"
'...
Public ReadOnly Property getDataDir() As String
Get
Return Me.repertoire_fichier
End Get
End Property |
donc ensuite
Code:
1 2 3
|
Public dialForm As Form = New SelectForm()
Public DATA_REP As String = dialForm.getDataDir() |
Citation:
Question annexe:
un Close sur une Form est ce que ça détruit (désalloue) toutes les variables qu'elle contient ?
Pas de suite necessairement car cela dependra du garbage collector tu peux très bien imposer le dispose après le close
Code:
If Not(Me Is Nothing) Then Me.Dispose(True)