Bonjour,
Je travaille actuellement avec le CompactFrameWork 3.5 et Visual Studio 2008, au développement d'une application qui affiche une carte et des points particuliers sur cette carte. Lorsqu'on clique sur un point, les informations le concernant doivent s'afficher dans une nouvelle fenêtre.
La fenêtre d'affichage des informations se compose donc de labels, zones de texte, combobox, qui sont différents et contiennent des infos différentes selon le point sur lequel on appuie. (les infos sur les points sont prises dans une base de donnée, je ne sais pas combien il y en a à afficher, ni quel type d'info elles contiennent)
J'espère avoir été claire jusqu'ici, parce que si le contexte n'est pas clair ça ne va pas être facile.
Je voulais, pour atteindre ce but, commencer par ajouter uniquement des labels qui affichent les informations actuelles. J'ai donc utilisé ce code :
Code c# : 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 public partial class ObjectInfo : Form { public ObjectInfo(DataTable data) //<--- data : les données à afficher { InitializeComponent(); //<----- défini dans un fichier à part, //met en forme de tout le reste InitializeData(data); } private void InitializeData(DataTable data) { int nCol = data.Columns.Count; for (int i = 0; i < nCol; i++) { DataColumn column = data.Columns[i]; Label att = new Label(); att.Text = column.ColumnName + " : "; Label val = new Label(); val.Text = data.Rows[0].ItemArray.GetValue(i).ToString(); infoPanel.Controls.Add(att); infoPanel.Controls.Add(val); //^-------infoPanel, comme son nom l'indique, est un panel. // Il doit contenir toutes les informations à terme. } } }
Seul le premier Label ajouté est visible. Les autres existent mais sont probablement cachés derrière lui.
J'ai cherché un peu ce qui pouvait m'aider mais n'ai pas trouvé grand chose. Le StackPanel à la place du panel, à la rigueur, si j'ai bien comprit, met les éléments ajoutés les uns en dessous des autres, mais j'aurais besoin d'une confirmation et d'un exemple simple peut être.
J'ai déjà essayé de le faire mais me suis trouvée confrontée à un détail qui me gêne : l'assembly des stackpanel est dans le dossier silverlight, c'est pas là que je vais d'habitude pour les chercher, je suis méfiante, je sais pas ce qu'est silverlight, je suis en compact framework, j'ai pas envie de faire une boulette en utilisant un truc que je ne devrais pas.
Ou alors si vous aviez une autre idée, je suis un peu à sec là...
Merci d'avance.
Partager