找回密码
 立即注册

QQ登录

只需一步,快速开始

lakeonpeak
金牌服务用户   /  发表于:2017-3-13 22:31  /   查看:3615  /  回复:7
若已用如下代码加了node,如何实现为node设置双击事件和右键菜单?
// create new instances of node
            C1.Win.TreeView.C1TreeNode node1 = new C1.Win.TreeView.C1TreeNode();
            C1.Win.TreeView.C1TreeNode node2 = new C1.Win.TreeView.C1TreeNode();

            // add parent node to the TreeView nodes collection
            c1TreeView1.Nodes.Add(node1);

            // set the value of parent node
            node1.SetValue("Reports");

            // add child node to parent node
            node1.Nodes.Add(node2);

            //set the value of child node
            node2.SetValue("May Sales");

看了半天官网英文也没找到,多谢!

7 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2017-3-14 11:08:40
沙发
双击node的时候可以触发C1TreeView的DoubleClick事件。
另外有继承标准的ContextMenuStript属性,可以设置右键菜单。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lakeonpeak
金牌服务用户   /  发表于:2017-3-14 11:34:31
板凳
本帖最后由 lakeonpeak 于 2017-3-14 11:36 编辑

我知道双击可触发doubleClick事件,问题是在c1treeView的编辑中如何对节点(Node)定义DoubleClick事件对应方法,如

或用代码完成对应方法?另,右键菜单不是针对整个C1treeView的,而是针对某些node的,貌似没有node1.ContextMenuStrip=....这样的字段属性啊?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2017-3-14 14:10:39
地板
lakeonpeak 发表于 2017-3-14 11:34
我知道双击可触发doubleClick事件,问题是在c1treeView的编辑中如何对节点(Node)定义DoubleClick事件对应方 ...

谢谢您的反馈。
很抱歉Node下没有提供事件(双击等事件),也没用提供右键菜单的属性。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lakeonpeak
金牌服务用户   /  发表于:2017-3-14 15:23:31
5#
本帖最后由 lakeonpeak 于 2017-3-14 15:26 编辑
Alice 发表于 2017-3-14 14:10
谢谢您的反馈。
很抱歉Node下没有提供事件(双击等事件),也没用提供右键菜单的属性。

那如果要实现的话,还有什么可能的途径吗?给点提示也行啊。如果真不行,还得又回去用.net 的treeView了
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2017-3-14 16:37:43
6#
lakeonpeak 发表于 2017-3-14 15:23
那如果要实现的话,还有什么可能的途径吗?给点提示也行啊。如果真不行,还得又回去用.net 的treeView了

按照2楼的提示,使用鼠标的相关事件来做。
C1TreeView提供了GetNodeAtPoint方法,你可以根据鼠标的位置获取到点击的是不是node。
在事件里判断下,如果是node,就执行您的相关逻辑。
代码参考:
  1.      void c1TreeView1_MouseDoubleClick(object sender, MouseEventArgs e)
  2.         {
  3.             var treeView = (C1TreeView)sender;
  4.             var p = new Point(e.X, e.Y);
  5.             if (treeView.GetNodeAtPoint(p) != null)
  6.             {
  7. //业务逻辑
  8.             }
  9.         }
复制代码


右键菜单也一样的,可以在相关事件里做判断。

评分

参与人数 1满意度 +5 收起 理由
lakeonpeak + 5 赞一个!

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
lakeonpeak
金牌服务用户   /  发表于:2017-3-14 20:23:05
7#
本帖最后由 lakeonpeak 于 2017-3-14 20:27 编辑
Alice 发表于 2017-3-14 16:37
按照2楼的提示,使用鼠标的相关事件来做。
C1TreeView提供了GetNodeAtPoint方法,你可以根据鼠标的位置 ...

谢谢!
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2017-3-15 09:12:42
8#

不用客气。
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部