Bonjour,


J'ai une petite application ou j'utilise un panel pour afficher tous mes formulaires afin de ne pas afficher trop de fenêtre superposées.

Par exemple lorsque je clic sur un bouton ça m'ouvre dans un PANEL le formulaire Utilisateurs :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
' --- Intégration du formualire utilisateur dans la PANEL2
        utilisateurs.TopLevel = False
        Panel2.Controls.Clear()
        Panel2.Controls.Add(utilisateurs)
        utilisateurs.Show()
Ensuite dans le LOAD de mon formulaire j'appel une procédure d'initialisation d'un DATAGRIDVIEW :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
 ' *** INITIALISATION DU FORMULAIRE PARAMTERE UTILISATEURS *** '
    Sub init_parametres_utilisateur()
 
        ' --- Déclaration de variable
        Dim connection As New SqlClient.SqlConnection(VGconnexion)
        Dim command As SqlClient.SqlCommand
        Dim ds As DataSet
        Dim da As SqlClient.SqlDataAdapter
 
        ' --- Initialisation des colonnes du DATAGRIDVIEW
        utilisateurs.DATA_USER.ColumnHeadersDefaultCellStyle.Font = New System.Drawing.Font("verdana", 9, FontStyle.Bold)
        utilisateurs.DATA_USER.ColumnHeadersDefaultCellStyle.BackColor = Color.Orange
        utilisateurs.DATA_USER.Font = New System.Drawing.Font("verdana", 9)
 
        ' --- Suppression des colonnes
        utilisateurs.DATA_USER.Columns.Clear()
 
        ' --- Ouverture de la connexion à la Base de données
        Try
            connection.Open()
            ' --- Cas d'erreur
        Catch
            ' --- Message d'erreur
            message_erreur_ouverture_bdd()
        End Try
 
        ' --- Initialisation de la requête SQL pour remplir le DATAGRIDVIEW
        command = New SqlClient.SqlCommand
        command.Connection = connection
        command.CommandText = "select numero_utilisateur, login_utilisateur, nom_utilisateur, prenom_utilisateur  from UTILISATEUR"
 
        ' --- Initalisation DATASET et SQLADAPTATER pour acceuillir le résultat de la requete
        ds = New sauvegarde
        da = New SqlClient.SqlDataAdapter
        da.SelectCommand = command
 
        ' --- Ouverture de la connection + remplissage du dataset
        da.Fill(ds, "UTILISATEUR")
 
        ' --- Intégration des données du DATASET dans le DATAGRIDVIEW
        utilisateurs.DATA_USER.DataSource = ds.Tables("UTILISATEUR")
 
        ' ---  Fermeture de la connexion à la base
        Try
            connection.Close()
            ' --- Cas d'erreur
        Catch
            ' --- Message d'erreur
            message_erreur_fermeture_bdd()
        End Try
 
        ' --- Initialisation du Bouton MODIFIER
        Dim boutonmodifier As New DataGridViewButtonColumn
        ' --- Déclaration des paramètres du bouton MODIFIER
        With boutonmodifier
            .HeaderText = "MODIFIER"
            .Name = "modifier"
            .Text = "M"
            .UseColumnTextForButtonValue = True
        End With
 
        ' --- Initialisation du bouton SUPPRIMER
        Dim boutonsupprimer As New DataGridViewButtonColumn
        ' --- Déclaration des paramètres du bouton SUPPRIMER
        With boutonsupprimer
            .HeaderText = "SUPPRIMER"
            .Name = "supprimer"
            .Text = "X"
            .UseColumnTextForButtonValue = True
        End With
 
 
        ' --- Lecture seule des données de la table PERIHPERIQUE
        utilisateurs.DATA_USER.Columns(0).ReadOnly = True
        utilisateurs.DATA_USER.Columns(1).ReadOnly = True
        utilisateurs.DATA_USER.Columns(2).ReadOnly = True
        utilisateurs.DATA_USER.Columns(3).ReadOnly = True
 
 
 
        ' ------------------------------
        ' ---- MIS EN FORME
        boutonsupprimer.DefaultCellStyle.BackColor = Color.OrangeRed
        boutonmodifier.DefaultCellStyle.BackColor = Color.LightGreen
 
 
        utilisateurs.DATA_USER.Columns(0).HeaderText = "N°"
        utilisateurs.DATA_USER.Columns(0).Width = 30
 
        utilisateurs.DATA_USER.Columns(1).HeaderText = "LOGIN"
        utilisateurs.DATA_USER.Columns(1).Width = 160
 
        utilisateurs.DATA_USER.Columns(2).HeaderText = "NOM"
        utilisateurs.DATA_USER.Columns(2).Width = 160
 
        utilisateurs.DATA_USER.Columns(3).HeaderText = "PRENOM"
        utilisateurs.DATA_USER.Columns(3).Width = 160
 
        ' --- Affichage des boutons dans les colonnes 4 et 5 
        utilisateurs.DATA_USER.Columns.Insert(4, boutonmodifier)
        utilisateurs.DATA_USER.Columns.Insert(5, boutonsupprimer)
        utilisateurs.DATA_USER.Columns(4).Width = 85
        utilisateurs.DATA_USER.Columns(5).Width = 90
 
        MessageBox.Show(utilisateurs.DATA_USER.Columns(5).HeaderText)
 
    End Sub
La ligne de fin : MessageBox.Show(utilisateurs.DATA_USER.Columns(5).HeaderText)
est un mouchard pour voir le tracé d'initialisation.

Donc la première fois que je clique sur mon bouton qui affiche mon formulaire utilisateurs mon mouchard s'affiche correctement.

Mais lorsque j'ouvre un autre formulaire dans mon PANEL et que je souhaite revenir sur le formulaire UTILISATEUR, le mouchard ne s'affiche pas. Et même j'irai plus loin, j'ai mis un mouchard dans le LOAD de mon formulaire UTILISATEURS et il ne s'affiche même pas avec le utilisateurs.show().


Pouvez vous m'aider?


Merci d'avance pour votre aide,

.Matt