c# TreeView添加右键快键菜单有两种方法
一种就是使用TreeView的ContextMenuStrip属性,添加一个新ContextMenuStrip,这个方法非常的简答直接,缺点是右键菜单是整个控件响应的,也就是说即使没有右键选中节点也是会触发快捷菜单的显示
这种方法里获取哪一个的node选中是通过这个方法:
代码如下:
TreeNode curNode = this.trvFolder.GetNodeAt(e.X, e.Y)
另一种是创建ContextMenuStrip,并且使用TreeView的NodeMouseClick事件,在事件中实现为:
代码如下:
private void trvFolder_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
Point pos = new Point(e.Node.Bounds.X + e.Node.Bounds.Width, e.Node.Bounds.Y + e.Node.Bounds.Height / 2);
this.cmsFolderMenu.Show(this.trvFolder, pos);
}
}
相关推荐
-
Android仿微信菜单(Menu)(使用C#和Java分别实现)
本篇是对安卓菜单使用编程方式实现,当然可以使用XML的方式完成同样的功能,基本Java和C#写法都是一致的,所以使用XML的方式在本篇中使用Java演示,需要注意的是,对于如果不是VS开发的话,那么资源文件名称必须以小写开头,否则会报错. 运行效果 C#实现 using Android.App; using Android.OS; using Android.Views; using Android.Widget; namespace MenuDemo { [Activity(Label = "
-
C#正则表达式获取下拉菜单(select)的相关属性值
给几个在C#中,使用正则表达式取页面下拉菜单(select)中的值示例: 复制代码 代码如下: //取html中全部 select 的 name Regex reg_name = new Regex(@"(?<=<select name=\"").*?(?=\"")"); //取html中全部<select>项的值 Regex reg_select = new Regex("(?is)<select nam
-
基于C#实现的仿windows左侧伸缩菜单效果
本文所述为基于C#实现的折叠菜单,风格仿照Windows打开我的电脑后左侧的伸缩菜单效果,并且同样是蓝色的效果,看着和windows的效果一样漂亮,可以实现折叠.展开等功能.这在学习C#界面编程的时候能用上,其主要实现代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq
-
asp.net(C#)生成无限级别菜单
首先,创建数据库表的代码如下: 无限级树的数据库表代码 复制代码 代码如下: if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[work_sysmenu]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[work_sysmenu] GO CREATE TABLE [dbo].[work_sysmenu] ( [flowid] [
-
C#递归读取XML菜单数据的方法
本文实例讲述了C#递归读取XML菜单数据的方法.分享给大家供大家参考.具体分析如下: 最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据写在数据库表,然后直接读取加载到菜单树上显示. 现在想把菜单数据都放在XML里,然后递归读取XML. 由于项目使用WCF,实体类使用了两个,一个是业务逻辑层中的实体,一个是调用业务逻辑层递归方法后进行数据实体的转换,XML读取方法写在业务逻辑层中. 思路: 1.先读取XML里所有的菜单 2.根据用户的权限显示所属
-
c# winform读取xml文件创建菜单的代码
复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using WinformMenu.Helper;using System.Xml; namespace WinformMen
-
C#微信开发之自定义菜单管理
自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定义菜单,可以看到创建菜单的一些注意事项,下面的使用网页调试工具调试该接口,只是调试接口是否可以正常调用,并不是直接创建菜单,根据微信自定义菜单管理文档菜单事件可分为两种: click: 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且
-
C#自定义控件添加右键菜单的方法
C#自定义控件添加右键菜单非常简单,主要用到控件,像control定义右键菜单,用items.add()叠加右键菜单内容,用click事件处理函数. 1.control是要定义右键菜单的控件. private void control_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { ContextMenu menu = new rightClickMen
-
C#实现Winform动态添加菜单的方法
本文实例讲述了C#实现Winform动态添加菜单的方法.分享给大家供大家参考.具体分析如下: 最近在做WINFORM开发,一直都在为主界面的点击事件及动态加载菜单苦脑.现在已解决这个问题了,可以实现数据库或都XML等配置完成动态生成菜单及事件加载.代码如下: private void Form1_Load(object sender, EventArgs e) { //添加菜单一 ToolStripMenuItem subItem; subItem = AddContextMenu("入库&qu
-
使用c#开发公众平台自定义菜单功能
复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="cm.aspx.cs" Inherits="guotaotao_weixin.cm" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w
随机推荐
- JavaScript 正则表达式验证函数代码
- Linux中文件权限目录权限的意义及权限对文件目录的意义
- Angular1.x复杂指令实例详解
- vue使用axios跨域请求数据问题详解
- python中reload(module)的用法示例详解
- asp.net实现多个文件同时下载功能
- JavaScript知识点总结(四)之逻辑OR运算符详解
- php录入页面中动态从数据库中提取数据的实现
- python基于mysql实现的简单队列以及跨进程锁实例详解
- Android变形(Transform)之Camera使用介绍
- JavaScript和jQuery获取input框的绝对位置实现方法
- JavaScript作用域链使用介绍
- JS组件Bootstrap Table表格多行拖拽效果实现代码
- 图标线性回归斜着移动到指定的位置
- 对MySQL配置参数 my.ini/my.cnf的详细解析
- MySQL数学函数简明总结
- Jquery ui css framework
- jquery.post用法之type设置问题
- 经典的间隔时间滚动新闻(图片),可控制滚动
- Android中应用前后台切换监听的实现详解
