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);
}
}
相关推荐
-
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] [
-
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#实现Winform动态添加菜单的方法
本文实例讲述了C#实现Winform动态添加菜单的方法.分享给大家供大家参考.具体分析如下: 最近在做WINFORM开发,一直都在为主界面的点击事件及动态加载菜单苦脑.现在已解决这个问题了,可以实现数据库或都XML等配置完成动态生成菜单及事件加载.代码如下: private void Form1_Load(object sender, EventArgs e) { //添加菜单一 ToolStripMenuItem subItem; subItem = AddContextMenu("入库&qu
-
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# 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#开发公众平台自定义菜单功能
复制代码 代码如下: <%@ 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#递归读取XML菜单数据的方法
本文实例讲述了C#递归读取XML菜单数据的方法.分享给大家供大家参考.具体分析如下: 最近在研究一些关于C#的一些技术,纵观之前的开发项目的经验,做系统时显示系统菜单的功能总是喜欢把数据写在数据库表,然后直接读取加载到菜单树上显示. 现在想把菜单数据都放在XML里,然后递归读取XML. 由于项目使用WCF,实体类使用了两个,一个是业务逻辑层中的实体,一个是调用业务逻辑层递归方法后进行数据实体的转换,XML读取方法写在业务逻辑层中. 思路: 1.先读取XML里所有的菜单 2.根据用户的权限显示所属
-
基于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#自定义控件添加右键菜单的方法
C#自定义控件添加右键菜单非常简单,主要用到控件,像control定义右键菜单,用items.add()叠加右键菜单内容,用click事件处理函数. 1.control是要定义右键菜单的控件. private void control_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { ContextMenu menu = new rightClickMen
随机推荐
- 正则表达式截取字符串的方法技巧
- Sql server中内部函数fn_PhysLocFormatter存在解析错误详解
- 基于jquery的动态创建表格的插件
- 关于在vue-cli中使用微信自动登录和分享的实例
- IOS 实现3D 浮动效果动画
- JSP实现的简单Web投票程序代码
- 修改apache配置文件去除thinkphp url中的index.php
- php和js对数据库图片进行等比缩放示例
- python使用str & repr转换字符串
- Python中表示字符串的三种方法
- 被动式统计网站在线人数
- C#实现身份证号码验证的方法
- Java微信公众平台开发(7) 公众平台测试帐号的申请
- Java和C#下的参数验证方法
- 用js读写cookie的简单方法(推荐)
- 详解Nginx服务器的nginx-http-footer-filter模块配置
- JQuery中解决重复动画的方法
- Java doGet, doPost方法和文件上传实例代码
- C++入门之基础语法学习教程
- Intent传递对象之Serializable和Parcelable的区别