Je crée une application winforms
dans laquelle l'utilisateur peut ajouter des nœuds à une arborescence en cliquant avec le bouton droit sur un nœud ou l'arrière-plan. Si l'utilisateur clique sur un nœud, le nouveau nœud devrait devenir l'enfant de ce nœud, sinon il sera ajouté à la racine de l'arborescence.Winforms: Détermine si l'arrière-plan de l'arborescence a cliqué sur
Mon problème est qu'il n'y a aucune fonction pour vérifier si l'arrière-plan est cliqué. Voici ce que j'ai jusqu'ici. Malheureusement, si un nœud est cliqué maintenant, l'enfant sera ajouté à la racine et au nœud parent.
private void treeView_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right) addChild(null);
}
private void treeView_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right) addChild(e.Node);
}
private void addChild(TreeNode parent)
{
TreeNode node = new TreeNode("new node");
// If didn't click on a node, add to root, otherwise add to parent
if (parent == null) treeView.Nodes.Add(node);
else parent.Nodes.Add(node)
node.Parent.Expand();
}
Fonctionne comme un charme! – shadowsora