Besoin d'un conseil

cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 22 févr. 2006 à 22:01
cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009 - 23 févr. 2006 à 18:54
Bonjour,

Je suis en train de développer une appli WYSWYG qui permettra de créer des kins pour les smartphones (windows mobile 2005). Et je ne sais pas comment aborder ce problème :
J'ai une listbox avec des items (string) représentant par leur nom un plugin qui est lui-meme un panel.
(explication: l'item du listbox: "Agenda" correspond au panel panAgenda, l'item "Profil" correspond au panel panProfil)
Hors, l'ordre des plugins se reflète dans l'aperçu. (les plugins sont comme des briques que l'on pose les unes sur les autres) Donc si l'item "Agenda" a l'index 0, le panel panAgenda (qui a une hauteur de 30 par ex.) aura sa propriété top à 0, et le panel panProfil aura sa propriété top à 30 si l'index de l'item "Profil" est 1. Mais l'inverse est possible et il y a de nombreux plugins. Je ne sais comment programmer ce fonctionnement.
J'ai pensé à une fonction du style:
Static void OrdreDesPlugins (Panel panel1, .... , Panel panel10)
{
panel1.Top = 0;
....
panel10.Top = panel9.Top + panel9.Height;
}
Le problème c'est comment passé de l'item du listbox qui est un string à un panel pour que la fonction fonctionne correctement.

En français : quand un item monte ou descend dans la listbox, le panel "correspondant" monte ou descend...

Je ne sais pas si je me suis bien expliqué, mais si quelqu'un voit une solution, ou a une idée pour obtenir ce résultat....Merci d'avance.

@ plus

lagoelle

1 réponse

cs_lagoelle Messages postés 102 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 17 mars 2009
23 févr. 2006 à 18:54
Salut à tous et à toutes,

J'ai réussi à obtenir l'effet voulu comme ceci:
private void lstOrdre_SelectedIndexChanged(object sender, EventArgs e)
{
int ht = 0;
try
{
switch (lstOrdre.Items[0].ToString())//Place n°1
{
case "IconBar":
panSelPlugIconBar.Top = 0;
ht = panSelPlugIconBar.Height;
break;
case "Heure/Date":
panSelPlugHeureDate.Top = 0;
ht = panSelPlugHeureDate.Height;
break;
case "Agenda":
panSelPlugAgenda.Top = 0;
ht = panSelPlugAgenda.Height;
break;
case "Message(s)":
panSelPlugMessage.Top = 0;
ht = panSelPlugMessage.Height;
break;
case "Profil":
panSelPlugProfil.Top = 0;
ht = panSelPlugProfil.Height;
break;
case "Appel(s) manqué(s)":
ht = 0;
break;
}
//..........
switch (lstOrdre.Items[9].ToString())//Place n°10
{
case "IconBar":
panSelPlugIconBar.Top = ht;
ht = ht + panSelPlugIconBar.Height;
break;
case "Heure/Date":
panSelPlugHeureDate.Top = ht;
ht = ht + panSelPlugHeureDate.Height;
break;
case "Agenda":
panSelPlugAgenda.Top = ht;
ht = ht + panSelPlugAgenda.Height;
break;
case "Message(s)":
panSelPlugMessage.Top = ht;
ht = ht + panSelPlugMessage.Height;
break;
case "Profil":
panSelPlugProfil.Top = ht;
ht = ht + panSelPlugProfil.Height;
break;
}
}
catch {}
}

Bon c'est pas top, mais ça marche :-( . Si quelqu'un a mieux, je suis preneur...

@ plus

lagoelle
0
Rejoignez-nous