treeview中节点,我想双击之后弹出另一个窗体

yulongguiziyao 2013-08-26 09:36:44
treeview中节点,我想双击之后弹出另一个窗体
private Point pi;
private void treeView1_MouseDown(object sender, MouseEventArgs e)
{
pi = new Point(e.X, e.Y);
}
private void treeView1_DoubleClick(object sender, EventArgs e)
{
TreeNode node = this.treeView1.GetNodeAt(pi);

if (pi.X > node.Bounds.Left && pi.X < node.Bounds.Right)
{
SM sm = new SM();
sm.Show();
}
}
但是为什么
if (pi.X > node.Bounds.Left && pi.X < node.Bounds.Right)
{
SM sm = new SM();
sm.Show();
}
不执行

...全文
635 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
千杯不醉-sen 2013-08-26
  • 打赏
  • 举报
回复
这个问题应该不难,多试一下其中的哪些事件。mark一下
Gavin_cao 2013-08-26
  • 打赏
  • 举报
回复
try treeview item double click event
xiagaoyang 2013-08-26
  • 打赏
  • 举报
回复
treeview节点双击被定义成了展开/折叠节点,是这样的,如果是c/s结构,你为什么不用右键菜单呢? 现在对树的处理基本都是采用了右键菜单的形式,包括上移下移这种操作之类,这样你就不必要去定位节点,只需要获取选中节点就可以了。。你可以看看。。很少看到双击的操作了
yulongguiziyao 2013-08-26
  • 打赏
  • 举报
回复
双击打不开新窗口,我看有的说是因为C#中treeview节点双击被定义成了展开/折叠节点,是这样吗?
智商余额不足 2013-08-26
  • 打赏
  • 举报
回复
直接这样就可以了,不用自找麻烦自己定位节点,想要获取当前双击的节点可以从事件参数获取

private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
    TreeNode currentNode=e.Node;
   // 
   // do something
   //
    SM sm = new SM();
    sm.Show();
}
yulongguiziyao 2013-08-26
  • 打赏
  • 举报
回复
是不是哪儿需要什么设置
yulongguiziyao 2013-08-26
  • 打赏
  • 举报
回复
我做的界面,单步执行的结果, 不论我点那个,结果读出的都是aa节点,并且对话界面打不开
yulongguiziyao 2013-08-26
  • 打赏
  • 举报
回复
我去试一下哈
灬浪子灬 2013-08-26
  • 打赏
  • 举报
回复
事件应该加在TreeViewItem上
智商余额不足 2013-08-26
  • 打赏
  • 举报
回复
你上面那段代码没问题,可以实现
yulongguiziyao 2013-08-26
  • 打赏
  • 举报
回复
我刚开始学c#,以前也没怎么接触过treeview控件,求解释
智商余额不足 2013-08-26
  • 打赏
  • 举报
回复
兄弟,用这个事件吧

NodeMouseDoubleClick:
private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
{
    SM sm = new SM();
    sm.Show();
}

111,093

社区成员

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

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

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