J'ai créé un morceau de code qui affichera une zone de groupe appropriée correspondant au nœud treeview cliqué comme un formulaire de menu Preferences. Le code fait ce qu'il est censé faire mais mon problème est de trouver comment faire pour qu'un autre groubox ne soit pas vu si un autre élément dans l'arborescence est cliqué avec le bouton droit de la souris.C#: Aide Itérer à travers les éléments treeview via l'événement NodeMouseClick
[Détail]
Disons qu'il ya 3 noeuds dans l'arborescence. 0) Général; 1) les sons; et 2) À propos de; Si je clique sur le nœud [1] Sons, il affichera la boîte de groupe appropriée, mais si je clique droit sur le nœud treeview [0] Général, il affichera son cadre et une fois que je souleve le clic droit sur la souris, le focus reviendra retour à [1] Sons, mais laissez la boîte de groupe pour le noeud 0) Général. Comment pourrais-je éviter cela?
[Code]
private void tvFrames_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
// How would I make sure that it won't display a different groupbox if another treeview node
// is currently being right clicked (temporarily selected before reverting back to previous focused node item)?
if (e.Node != null)
{
switch (e.Node.Index)
{
case 0:
ShowGroupBox(groupboxZero);
break;
case 1:
ShowGroupBox(groupboxOne);
break;
case 2:
ShowGroupBox(groupboxTwo);
break;
}
}
}
Merci de souligner que ces événements existaient. J'ai transféré la routine de nodeclick à l'événement afterselect et cela a fonctionné parfaitement. –