【发布时间】:2010-12-24 15:48:00
【问题描述】:
我正在尝试为 TreeView 中的节点中的单击和双击事件定义不同的处理程序,但单击事件总是被触发并且双重被忽略。 我可以同时工作吗?
试试 1
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
MessageBox.Show(e.Node.Text.ToUpper());
}
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
MessageBox.Show(e.Node.Text);
}
try2
private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
switch (e.Clicks)
{
case 1:
MessageBox.Show(e.Node.Text); break;
case 2:
MessageBox.Show(e.Node.Text.ToUpper()); break;
default:
break;
}
}
【问题讨论】:
-
我强烈警告您不要在双击节点时导致某些操作发生。这是扩展/折叠节点的常用方法,如果您开始连接其他行为,则可能会混淆用户。
-
另外,如果您可以发布您的
TreeView的Click和DoubleClick事件处理程序的代码会更好......问题一定存在于某个地方(也许你是取消点击事件或显示消息框?)因为DoubleClick事件在一个空的测试应用程序中对我来说非常好。 -
嗨 Cody,我将代码添加到问题中
-
@Cody Gray 如果节点没有子节点,双击操作完全没问题
-
@voodoomsr,这真的是你的代码吗?您希望如何在消息框中双击?