treeview 点击已经选过的节点如何触发事件

缭绕飘渺 2010-12-22 04:28:41
在treeview的AfterSelect事件中,通过判断节点的text来实现不同功能,举例如下:
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Text == "连接")
{

}
if (e.Node.Text == "发送数据")
{

}
if (e.Node.Text == "发送配置")
{

}
}

如果我已经选择了“发送数据”这个节点,然后完成某个动作,如向服务器端发送一段数据,如果我想再实现一个“发送数据”的命令,就需要再点击下这个节点,这个时候程序就不执行了,因为这个节点是处于选中状态的,大家有什么方法实现同一个节点在选择后可以再次选择并在treeView1_AfterSelect事件中触发的。
我是winform的程序,web的方法就不要说了!
我开始想是选择节点执行完程序后让节点的选择状态设置为无效,但没找到相应的方法!
...全文
540 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
卡索瓦 2010-12-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shiguohui000 的回复:]
使用TreeView控件的NodeMouseClick 事件
就可以点击已经选中的节点


正解,你在afterSelected事件中是不可能触发的。因为已经处于选中状态了,就算你再点也是没用的。

如果你实在想这么做的话。就这么做:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)……
[/Quote]
可以吧
shighui 2010-12-22
  • 打赏
  • 举报
回复
使用TreeView控件的NodeMouseClick 事件
就可以点击已经选中的节点


正解,你在afterSelected事件中是不可能触发的。因为已经处于选中状态了,就算你再点也是没用的。

如果你实在想这么做的话。就这么做:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Text == "连接")
{

}
if (e.Node.Text == "发送数据")
{

}
if (e.Node.Text == "发送配置")
{

}
treeView1.SelectedNode=null;
}

应该可以能满足你的需求。

缭绕飘渺 2010-12-22
  • 打赏
  • 举报
回复
楼上的说的是鼠标单击事件吧
这个也考虑了
去试试
不行就这个了
不过还是想知道在afterSelected事件中如何实现
gohappy2008 2010-12-22
  • 打赏
  • 举报
回复
使用TreeView控件的NodeMouseClick 事件
就可以点击已经选中的节点
缭绕飘渺 2010-12-22
  • 打赏
  • 举报
回复
回楼上的两位
是在afterselected事件中的
一个树形控件,里面有多个节点,一个根节点,多个子节点,我选择一个子节点实现向服务端发送一个命令,不同子节点向服务端发送不同命令,同一个子节点可能会多次连续执行,其实这个treeview控件的子节点只能在没选中时你再去选择他,他才会触发相应的事件,发送命令,如果你选择一个子节点,比如子节点1,向服务端发送了一个命令,你这个时候还想再发送一个该命令,但是你再选择该节点时就没反应了,因为该节点1目前已经是选中状态了!你唯一能做的就是先选择其他节点,再回来选择节点1,这样才能发送你想发送的命令,我需要同一个子节点可以多次连续的选择,连续的发送同一个命令!
比如我把命令定义到子节点1,我连续点击(其实就是选中)子节点1五次,就发送五次该命令,但实际上只有第一次点击是发送了命令,其他四次都是白费!
不知道大家明白我的意思没?
wuyq11 2010-12-22
  • 打赏
  • 举报
回复
如果只是需要先选中的话,用它的默认事件(AfterSelect)。如果要双击才触发的话,可以从Control中继承它的DoubleClick事件。
switch (e.Node.Text)
{
case 1:
//do
break;
case 2:
//do
break;
}
zhq_152718 2010-12-22
  • 打赏
  • 举报
回复
学习一下,有一个笨方法:重新加载这个TreeView

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧