C# masquage et affichage d'un panneau sur le dessus d'un splitcontainer
J'ai un écran qui est divisé par un peu de splitcontainers. L'un d'eux contient des rectangles dont les composants utilisateur que j'ai fait, ces "rectangles" représentent les lits d'hôpitaux. Ce que je voulais faire, c'est de donner la possibilité à l'utilisateur de basculer entre cet "utilisateur vue component" et un "datagrid view".
J'ai donc créé un panneau pnlPatients dont je donne la même taille que le splitcontainer avec l'utilisateur composants. Lorsque l'utilisateur sélectionne "Changer de vue" le programme est censé pour basculer entre les deux dispositions.
Code:
Tentative 1:
if (pnlPatients.Visible)
pnlPatients.Hide();
else
{
pnlPatients.Show();
pnlPatients.BringToFront();
}
Tentative 2:
pnlPatients.Visible = !pnlPatients.Visible;
pnlPatients.Invalidate();
La chose étrange est que les deux tentatives fonctionne comme ceci:
L'utilisateur voit d'abord le "composant utilisateur".
Si il serait de basculer de la vue, il serait correctement afficher le panneau sur le dessus de la vue précédente.
Si il ne bascule à nouveau, puis le panneau serait bien cachés.
Si il serait alors à nouveau basculer la vue, puis le panneau ne sera pas montré. NOTE: pendant le débogage, la propriété visible du panneau est correctement changé à VRAI ou FAUX. Mais pour une raison uniquement la première fois qu'il est mis visibles VRAI le panneau peut être vu.
Quelqu'un a une idée?
En ce qui concerne meilleur
Edit: j'ai aussi essayé, mais sans succès:
pnlPatients.Visible = !pnlPatients.Visible;
if (pnlPatients.Visible)
{
pnlPatients.BringToFront();
}
else
{
pnlPatients.SendToBack();
}
La Forme de base de Windows est le parent.
OriginalL'auteur Starceaker | 2010-09-29
Vous devez vous connecter pour publier un commentaire.
Ont un coup d'oeil à cette
OriginalL'auteur Tony The Lion
Dans le cas où quelqu'un ne veut pas patauger à travers l'ensemble de Tony lien:
OriginalL'auteur Adam Butler
OriginalL'auteur Chris
Au lieu d'Invalider le Panneau de contrôle, la nullité de l'Hôte forme à forcer le rafraîchissement de tous les enfants, aussi bien en appelant
this.Invalidate(true);
OriginalL'auteur jvanrhyn
OriginalL'auteur Hisham