Bonjour à tous.
Je bidouille un logiciel qui manipule des fichiers XML.
Mon problème est le suivant :
J'ai fais une page de démarrage en fondu, dans laquelle s'initialise toutes les données de mon logiciel (lecture des fichiers XML pour les paramètres données de comptes utilisateurs etc.)
dans ma page de démarrage j'ai donc ce code :
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
Public Class Demarrage
    Dim Paramètres As Propriétés = LitDataXMLPropriétés("Propriétées.xml") 'Créé une classe "Paramètres" Propriétés qui contient les données du fichier "Propriétées.xml"'
 
Public Function LitDataXMLPropriétés(ByVal filename As String) As Propriétés 'Créé la fonction lecture du fichier xml'
        Try 'Essaye le code suivant : '
            Using objStreamReader As New StreamReader(filename) 'Utilise le flux de données du fichier "filename"'
                Try 'Essaye le code suivant : '
                    Return DirectCast((New XmlSerializer(GetType(Propriétés))).Deserialize(objStreamReader), Propriétés) 'Sérialise le fichier xml'
                Catch ex As Exception 'Si l'essais échoue'
                    MessageBox.Show("Echec de la lecture." & ex.Message) 'Affiche un message d'erreur'
                End Try 'Fin de l'essais du code'
            End Using 'Coupe toutes ressources utilisées pour créer le flux.'
        Catch ex As Exception 'Si le fichier n'existe pas'
            Paramètres = New Propriétés 'Créé un nouveau fichier "Propriétés"'
            EcritDataXMLPropriétés("Propriétées.xml", Paramètres) 'L'écrit'
            System.Windows.Forms.Application.Restart() 'Redémarre l'application'
            End 'Ferme l'application en cours'
        End Try 'Fin de l'essais du code'
        Return Nothing
    End Function
 
    Public Sub EcritDataXMLPropriétés(ByVal filename As String, paramètres As Propriétés)
        Try
            Using objStreamWriter As StreamWriter = New StreamWriter(filename)
                Try
                    Dim xsPropriety As New XmlSerializer(GetType(Propriétés), New XmlRootAttribute("Propriétés"))
                    xsPropriety.Serialize(objStreamWriter, paramètres)
                Catch ex As Exception
                    MessageBox.Show("Echec de l'écriture." & ex.Message)
                End Try
            End Using
        Catch ex As Exception
            MessageBox.Show("Fichier inaccessible." & ex.Message)
        End Try
    End Sub
...
End sub
Ceci est un fragment du code complet.

Dans ma feuille de paramètres j'ai ceci :
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
Private Sub Boutton_Valider_Click(sender As Object, e As EventArgs) Handles Boutton_Valider.Click
 
        If Check_Autor_Modif_MDP.Checked = True Then
            Demarrage.Paramètres.Act_MDP.Autor_MDP = True
        Else
            Demarrage.Paramètres.Act_MDP.Autor_MDP = False
        End If
        Demarrage.EcritDataXMLPropriétés("Propriétées.xml", Paramètres)
        Me.Close()
 
    End Sub
 
    Private Sub Param_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        If Demarrage.Paramètres.Act_MDP.Autor_MDP = True Then
            Check_Autor_Modif_MDP.Checked = True
        Else
            Check_Autor_Modif_MDP.Checked = False
        End If
    End Sub
Mon problème est que lors de l'appel à mes fonctions dans ma page de demarrage, le logiciel lance une seconde fois l'application. Une idée quelqu'un svp ?
Autre chose, j'ai conté ce phénomène en tapant le code dans toutes mes pages mais c'est un peut lourd à la fin... J'ai aussi essayé de taper une seule fois ce code dans une "page de code" sous visual studio 2013 mais je n'arrives pas à récupérer les données de dans cette feuille. Voila merci par avance de votre aide et vos lumières !