Pb winform

cs_papy27 Messages postés 12 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 30 mai 2005 - 13 juil. 2004 à 12:28
cs_papy27 Messages postés 12 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 30 mai 2005 - 15 juil. 2004 à 12:03
Salut, comment puis je gerer plusieurs winform
Je m'explique, j'ai une winform principale et qd je clique sur un bouton, j'ouvre une winform ou je dois ecrire des données.
Le probleme est que quand j'ouvre la 2ème, je revient direct dans la première et si je met une boucle infini, je ne peux plus rien fiare .
help me !!!
voici mon code:

form 1:
Private Function afficher_interface_modifier()
Dim form_id As form_identifiant = New form_identifiant

form_id.Show()
form_id.Activate()

Dim tmp As String
tmp = form_id.retourne_id()
System.Windows.Forms.MessageBox.Show(tmp)

End Function

Form 2:celle ou j'ecrit des donnees
Private Sub btn_entre_id_ok_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_entre_id_ok.Click
Dispose()
test_fin = -1
End Sub

Private Sub btn_entre_id_annuler_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_entre_id_annuler.Click
Dispose()
test_fin = -1
End Sub

Public Function fin_id()
Return (test_fin)
End Function

Public Function retourne_id()
Return txtb_id_entre.Text
End Function


Private Sub form_identifiant_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

3 réponses

cs_RedDog Messages postés 50 Date d'inscription lundi 7 avril 2003 Statut Membre Dernière intervention 21 août 2013
14 juil. 2004 à 01:21
Bonjour,

Je me suis dévelloppé une fonction que j'ai nommé _FindForm (similaire à la méthode FindForm() >> Extrait le formulaire sur le lequel se trouve le contrôle.) qui me permet de savoir quelle est la dernière fenêtre du type voulu qui a été ouverte dans un environnement MDI, j'ai trois type de fenêtre différentes qui interagissent entre elles, bref.

Je sais pas si ça résoudra ton problème, mais sinon tu pourras peut être t'en inspiré:

Code en VB.Net
Public Function _FindForm(ByVal Rech As String) As Integer
Dim strRech As String = Rech
Dim frm As Form
Dim int, int1 As Integer
int1 = 0
' On cherche à trouver s'il y a un Formulaire enfant et prendre le dernier ouvert
For Each frm In MdiChildren
        If frm.Name = strRech Then
                 int = int1
        End If
        int1 = int1 + 1
        'Console.WriteLine("MdiChildren: " & frm.Name)
Next
Return int
End Function


Que j'appelle comme ça:

Dim X As FormY = CType(MdiChildren.GetValue(_FindForm("FormY")), FormY)


Regarde aussi la méthode du .Net Framework FindForm() >> Extrait le formulaire sur le lequel se trouve le contrôle, elle est très intéressante.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
15 juil. 2004 à 00:15
Juste une remarque au niveau de ton code :

Public Function _FindForm(ByVal Rech As String) As Integer
Dim strRech As String = Rech
Dim frm As Form
Dim int, int1 As Integer
int1 = 0
' On cherche à trouver s'il y a un Formulaire enfant et prendre le dernier ouvert
For Each frm In MdiChildren
    If frm.Name = strRech Then
       Return int1    '"# Pas besoin de lister les forms suivantes !
    End If
int1 = int1 + 1
'Console.WriteLine("MdiChildren: " & frm.Name)
Next
Return -1
End Function
0
cs_papy27 Messages postés 12 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 30 mai 2005
15 juil. 2004 à 12:03
Merci mais mon probleme est surtout de prendre la main et de la garder sur la forme qui s'ouvre.
En effet, j'arrive à l'ouvrir, l'afficher, ,la fermer mais pas à garder la mian dessus pour pouvoir ecrire, cliquer...
merci encore pour l'aide que vous apportez à tous les debutants et aux aurtes.
0
Rejoignez-nous