Ich habe einen Code erstellt, der eine entsprechende Groupbox anzeigt, die dem Baumansichtsknoten entspricht, der wie ein Menümenü "Einstellungen" angeklickt wird. Der Code tut, was er tun soll, aber mein Problem ist herauszufinden, wie es gemacht wird, so dass eine andere Groupbox nicht in Sicht genommen wird, wenn ein anderer Gegenstand in der Baumansicht mit der rechten Maustaste angeklickt wird.C#: Hilfe beim Iterieren durch Treeview-Elemente durch das NodeMouseClick-Ereignis
[Ausführliche]
der dort Lassen Sie sagen, sind drei Knoten in der Baumansicht. 0) Allgemein; 1) Geräusche; und 2) Über; Wenn ich auf Knoten [1] Sounds klicke, wird das entsprechende Groupbox angezeigt, aber wenn ich mit der rechten Maustaste auf den TreeView-Knoten [0] Allgemein klicke, wird der Rahmen angezeigt und sobald ich den rechten Mausklick anhebe, wird der Fokus zurückgesetzt Zurück zu [1] Sounds, aber lass die Groupbox für den Knoten 0) General. Wie konnte ich das ausfallsicher machen?
[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;
}
}
}
Vielen Dank für den Hinweis, dass diese Ereignisse existierten. Ich habe die Routine von nodeclick auf das afterselect-Ereignis übertragen und es funktionierte einwandfrei. –