C# 在树状视图中检测对折叠按钮的单击

C# 在树状视图中检测对折叠按钮的单击,c#,treeview,C#,Treeview,我有一个带有节点的树状视图。如果用户双击某个节点,则会打开该节点的编辑对话框,用户可以在其中修改数据等。 有一个问题,如果用户快速点击两次节点的折叠按钮,这也算双击。有没有办法避免这种情况?我在网上搜索了一下,但没有找到真正有用的东西。检测点击是否在特定区域内是无用的,因为树状视图是动态的和可滚动的 非常感谢。您只需拨打HitTest查询用户单击的位置即可 private void treeView1_MouseDoubleClick(object sender, MouseEventArgs

我有一个带有节点的树状视图。如果用户双击某个节点,则会打开该节点的编辑对话框,用户可以在其中修改数据等。 有一个问题,如果用户快速点击两次节点的折叠按钮,这也算双击。有没有办法避免这种情况?我在网上搜索了一下,但没有找到真正有用的东西。检测点击是否在特定区域内是无用的,因为树状视图是动态的和可滚动的


非常感谢。

您只需拨打
HitTest
查询用户单击的位置即可

private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    var hitTest = treeView1.HitTest(e.Location);
    if (hitTest.Location == TreeViewHitTestLocations.PlusMinus)
    { 
        //expand collapse clicked
    }
}

您只需调用
HitTest
,即可找到用户单击的位置

private void treeView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
    var hitTest = treeView1.HitTest(e.Location);
    if (hitTest.Location == TreeViewHitTestLocations.PlusMinus)
    { 
        //expand collapse clicked
    }
}

非常感谢。这很好。回想起来,我会说我是一个糟糕的谷歌人。。。谷歌总是搜索“崩溃”或“扩展”,但从来没有想过一个简单的“崩溃”或“扩展”,我应该同意这是很难谷歌,我尝试了,但没有好的结果:(非常感谢。这是完美的。回想起来,我会说我是一个坏谷歌…总是谷歌搜索“崩溃”或“扩展”,但从来没有想过一个简单的“PlusMinus”我同意谷歌很难做到这一点,我尝试过,但没有取得好的效果:(