[C#] Naviguer d'un panel à un autre

Naviguer d'un panel à un autre [C#] - C#/.NET managed - Programmation

Marsh Posté le 04-06-2007 à 13:19:21    

Hello,
 
Je suis débutant en C# et je développe une application sur PDA. Le principe est simple, les différentes fenêtres de mon application sont représentées par différents panel, et j'aimerais naviguer entre eux en cliquant sur différents boutons. Donc j'ai besoin de cacher celui en cours, et d'afficher celui qui correspond au clic. J'ai trouvé une sorte de petit tuto, et pour l'instant je passe par ça:
 

Code :
  1. public void CloseAll ( )
  2.         {
  3.             panel1.Hide ( );
  4.             panel2.Hide ( );
  5.         }
  6.         private void menuItem3_Click ( object sender, EventArgs e )
  7.         {
  8.             CloseAll ( );
  9.             panel1.Show ( );
  10.         }
  11.         private void menuItem2_Click ( object sender, EventArgs e )
  12.         {
  13.             CloseAll ( );
  14.             panel2.Show ( );
  15.         }


 
Le tuto m'indiquait de créer une fonction CloseAll(), cachant toutes les fenêtes, ce qui est pas terrible je trouve. Mais bon, ça ne marche pas du tout, je vois pas d'où peut venir le problème... J'ai essayé de passer par la propriété Visible des panel, mais ça ne passe pas non plus... Est-ce quelqu'un a déjà réalisé un système du genre, ou voit comment ce serait possible de le réaliser?
 
Merci d'avance.

Reply

Marsh Posté le 04-06-2007 à 13:19:21   

Reply

Marsh Posté le 04-06-2007 à 14:07:51    

Ok je viens de comprendre le problême: le parent du panel2 c'était le panel1 lui-même. Donc forcément si on mettait le panel1.Visible à false, le panel2 risquait pas de s'afficher vu que c'était son fils. La solution est de mettre la form en cours en tant que parent de tous les panel. Voila voila....

Reply

Marsh Posté le 04-06-2007 à 15:45:17    

:sweat:
 
t'as pas moyen de faire plus propre ?
 
(parcequ'en tout les cas, t'as pas moyen de faire plus sale [:atari] )


Message édité par MagicBuzz le 04-06-2007 à 15:45:39
Reply

Marsh Posté le 07-06-2007 à 15:22:11    

J'ai essayé de voir comment on pouvait coder une navigation entre plusieurs panels, et c'est le seul moyen que j'ai trouvé... Si t'as une autre idée d'implémentation je suis preneur !

Reply

Marsh Posté le 07-06-2007 à 15:30:44    

Une hashmap static, chaque bouton associant un panel dans cette hasmap, on close systématiquement le panel courant et on ouvre celui associé au bouton ?


---------------
Töp of the plöp
Reply

Marsh Posté le 07-06-2007 à 15:41:48    

En fait ce que je fais, c'est que je conserve le panel courant, et je le close sur chaque clic d'un bouton et j'affiche le nouveau... Donc je pense que ça revient à peu près au même.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed