Bonjour,
Sur mon programme, je développe un système pour enregistrer les informations de connexion de l'utilisateur si il le souhaite. Le stockage des infos se fait dans un fichier XML à la racine du programme. Donc lorsque l'utilisateur va cocher "Retenir le nom d'utilisateur" et appuyer sur le bouton "Connexion", un fichier "infos.xml" va être crée avec à l'intérieur, son nom d'utilisateur. A l'inverse, si l'utilisateur ne souhaite plus que son nom d'utilisateur soit enregistrer, il décoche la checkbox et la même opération se produit sauf qu'à l'intérieur du fichier XML il y aura rien. Au lancement, le programme charge le fichier XML avec les infos qu'il y a dedans. Cela fonctionne mais le problème c'est que le programme utilise "Infos.xml" au Load de la Form et donc lorsque l'utilisateur va vouloir enregistrer ses informations de connexion en appuyant sur "Connexion", Visual Studio me dit"Infos.xml est déjà utilisé par un autre processus" c'est à dire que le processus c'est : mon programme.
J'espère avoir été clair et précis, si ce n'est pas le cas, dites le moi !
Le code : Form_load :
Le code d'enregistrement : Si la Checkbox est à True ou False :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 XmlTextReader reader = new XmlTextReader("infos.xml"); while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Text: metroTextBox1.Text = (reader.Value); break; } }
Merci,
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 if (metroCheckBox1.Checked == true) { XmlTextWriter myXmlTextWriter = new XmlTextWriter("infos.xml", null); myXmlTextWriter.Formatting = Formatting.Indented; myXmlTextWriter.WriteStartDocument(false); myXmlTextWriter.WriteStartElement("infos"); myXmlTextWriter.WriteStartElement("usrnm", null); myXmlTextWriter.WriteElementString("usrnm", null, metroTextBox1.Text); myXmlTextWriter.WriteStartElement("pswrd", null); myXmlTextWriter.WriteElementString("pswrd", ""); myXmlTextWriter.Flush(); myXmlTextWriter.Close(); Console.ReadLine(); Form2 form2 = new Form2(); form2.ShowDialog(); } else { XmlTextWriter myXmlTextWriter = new XmlTextWriter("infos.xml", null); myXmlTextWriter.Formatting = Formatting.Indented; myXmlTextWriter.WriteStartDocument(false); myXmlTextWriter.WriteStartElement("infos"); myXmlTextWriter.WriteStartElement("usrnm", null); myXmlTextWriter.WriteElementString("usrnm", null, ""); myXmlTextWriter.WriteStartElement("pswrd", null); myXmlTextWriter.WriteElementString("pswrd", ""); myXmlTextWriter.Flush(); myXmlTextWriter.Close(); Console.ReadLine(); Form2 form2 = new Form2(); form2.ShowDialog(); }
Cordialement.
Partager