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);
}
}
相关推荐
-
使用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
-
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
-
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#微信开发之自定义菜单管理
自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定义菜单,可以看到创建菜单的一些注意事项,下面的使用网页调试工具调试该接口,只是调试接口是否可以正常调用,并不是直接创建菜单,根据微信自定义菜单管理文档菜单事件可分为两种: click: 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),并且
-
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#自定义控件添加右键菜单的方法
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#实现的仿windows左侧伸缩菜单效果
本文所述为基于C#实现的折叠菜单,风格仿照Windows打开我的电脑后左侧的伸缩菜单效果,并且同样是蓝色的效果,看着和windows的效果一样漂亮,可以实现折叠.展开等功能.这在学习C#界面编程的时候能用上,其主要实现代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq
-
C#递归读取XML菜单数据的方法
本文实例讲述了C#递归读取XML菜单数据的方法.分享给大家供大家参考.具体分析如下: 最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据写在数据库表,然后直接读取加载到菜单树上显示. 现在想把菜单数据都放在XML里,然后递归读取XML. 由于项目使用WCF,实体类使用了两个,一个是业务逻辑层中的实体,一个是调用业务逻辑层递归方法后进行数据实体的转换,XML读取方法写在业务逻辑层中. 思路: 1.先读取XML里所有的菜单 2.根据用户的权限显示所属
-
C#实现Winform动态添加菜单的方法
本文实例讲述了C#实现Winform动态添加菜单的方法.分享给大家供大家参考.具体分析如下: 最近在做WINFORM开发,一直都在为主界面的点击事件及动态加载菜单苦脑.现在已解决这个问题了,可以实现数据库或都XML等配置完成动态生成菜单及事件加载.代码如下: private void Form1_Load(object sender, EventArgs e) { //添加菜单一 ToolStripMenuItem subItem; subItem = AddContextMenu("入库&qu
-
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 = "
随机推荐
- javascript深入理解js闭包
- vmware 实现linux目录映射window本地目录图文详解
- SQLServer2008新实例远程数据库链接问题(sp_addlinkedserver)
- jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
- LazyLoad 延迟加载(按需加载)
- Java编程Iterator迭代器设计原理及实现代码示例
- Java实现的求逆矩阵算法示例
- 利用iOS实现系统相册大图浏览功能详解
- 用javascript做一个webgame连连看大家看下
- C# 接口的隐式与显示实现及适应场景
- Python解析树及树的遍历
- Android数据持久化之File机制分析
- sed或awk处理文件最后一行的实现方法
- SQLServer:探讨EXEC与sp_executesql的区别详解
- java防盗链在报表中的应用实例(推荐)
- 程序员必知35个jQuery 代码片段
- 教你玩转Win XP注册表之性能优化
- 详解次小生成树以及相关的C++求解方法
- 详解可跨域的单点登录(SSO)实现方案【附.net代码】
- ASP中FSO对象对IIS WEB服务器数据安全的威胁及对策