Salut à tous,
voilà, je me case la tête avec un problème qui est peut etre très simple.
J'ai créé une liste
ensuite j'essaie de la remplir avec un foreach
Code : Sélectionner tout - Visualiser dans une fenêtre à part public List<string[]> TableauListe = new List<string[]>();
en gros, je vais fouiller dans le registre pour savoir si je trouve un (ou plusieurs) dossier(s) puis j'extrait les infos que je classe dans mon tableau.
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 TableauListe .Clear(); string[] stringEntete = new string[] { "Type", "Nom", "Version" }; TableauListeBaseSQL.Add(stringEntete ); try { RegistryKey KeyHDB = Registry.LocalMachine.OpenSubKey(CheminCleHDB, true); if (KeyHDB != null) { string[] subkeyNames = KeyHDB.GetSubKeyNames(); string[] subkeyArray = new string[3]; foreach (string subkeyName in subkeyNames) { subkeyArray[0] = "Historian DB"; subkeyArray[1] = subkeyName; RegistryKey KeyHDBLu = Registry.LocalMachine.OpenSubKey(CheminCleHDB + "\\" + subkeyName, true); int HBDVersion = (int)KeyHDBLu.GetValue("Version"); subkeyArray[2] = HBDVersion.ToString(); //MessageBox.Show(subkeyName + "\t" + HBDVersion.ToString()); TableauListe.Add(subkeyArray); } } KeyHDB.Close(); } catch (Exception ex) { }
mon problème est qu'a chaque fois, quand j'affiche mon tableau, la premier ligne est bonne (celle Entete), mais toutes les autres ne sont que la dernière...
Si je mets MessageBox.Show(subkeyName + "\t" + HBDVersion.ToString()); j'affiche bien les bonnes infos, mais elles ne s'ajoute pas...
Le nombre de ligne est le bon...
Une idée ?
Partager