精华内容
下载资源
问答
  • C# 右键桌面菜单
    2022-04-03 21:41:00
     string menuName = string.IsNullOrEmpty(this.textBox1.Text.Trim()) ? "XXX" : this.textBox1.Text.Trim();
    
        //注册到所有文件
        if (chkFile.Checked)
        {
            RegistryKey shell = Registry.ClassesRoot.OpenSubKey(@"*\shell", true);
            RegistryKey custom = shell.CreateSubKey(menuName);
            RegistryKey cmd = custom.CreateSubKey("command");
            cmd.SetValue("", Application.ExecutablePath + " %1");
            //Application.ExecutablePath 是本程序自身的路径
            //%1 是传入打开的文件路径
            cmd.Close();
            custom.Close();
            shell.Close();
        }
    
        //注册到所有目录
        if (chkFile.Checked)
        {
            RegistryKey shell = Registry.ClassesRoot.OpenSubKey(@"directory\shell", true);
            RegistryKey custom = shell.CreateSubKey(menuName);
            RegistryKey cmd = custom.CreateSubKey("command");
            cmd.SetValue("", Application.ExecutablePath + " %1"); //%1 是传入打开的文件路径
            cmd.Close();
            custom.Close();
            shell.Close();
        }
    
        MessageBox.Show("注册成功!\r\n请通过文件或目录的右键菜单来测试结果!");
    

    来源:http://www.zu14.cn/2009/02/25/dotnet-register-self-sys-context-menu/

    更多相关内容
  • c# 添加右键菜单

    2018-08-13 22:00:00
    为文件夹或者文件类型 添加右键菜单,文件类型 根据后缀进行区别,我搜过次软件方面的资料 发现没有此方面的资料,所有给广大网友分享一个,有问题可以在下面回复 我看到了 会回复的。
  • 通过Winfrom实现了右键菜单的功能,并且能够在选中右键弹出菜单选项后,自动将该选项勾选,代码其实就一句话,不想下载的话可以参考我的博客http://blog.csdn.net/my_clear_mind/article/details/79511174
  • C#WPF 右键菜单 显示 事件触发 测试通过 <!-- 设置右键菜单 --> 编辑"> <!-- 调用系统命令 --> <MenuItem Command="Copy"></MenuItem> <MenuItem Command="Cut"></MenuItem> <MenuItem Command="Paste">...
  • C# WinForm托盘右键菜单例子源码,例子可供初学者参考。
  • 主要介绍了C#自定义控件添加右键菜单的方法,本文用到control控件,专门自定义右键菜单,下面小编给大家整理下,有需要的小伙伴可以来参考下
  • 很经典的右键菜单,汇聚多种右键菜单的长处于一处。
  • C# 添加windows右键菜单

    2022-03-24 12:34:55
    windows文件浏览器中,添加自定义右键菜单
    using Microsoft.Win32;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace Sci
    {
        public class RegistryTool
        {
            #region 添加自定义右键菜单
    
            /// <summary>
            /// 在widows系统中为指定类型的文件或文件夹,添加自定义右键菜单
            /// </summary>
            /// <param name="fileExten">文件拓展名如:".txt" 为所有类型的文件添加为 "*" </param>
            /// <param name="menuId">内部id</param>
            /// <param name="menuName">显示名称</param>
            /// <param name="exePath">发送命令到指定的exe</param>
            /// <param name="callBackArg">标识当前菜单项的自定义参数</param>
            /// <param name="isDirectory">是否为文件夹</param>
            public static void AddWindowsContextMenu(string fileExten, string menuId, string menuName, string exePath, string callBackArg = null, bool isDirectory = false)
            {
                exePath = "\"" + exePath +"\"";
    
                string shellPath = (isDirectory ? "Directory" : fileExten) + @"\shell\";                    // 为指定类型的文件添加右键shell菜单,或为文件夹添加右键菜单
                RegistryKey shellSet = GetSubKey(Registry.ClassesRoot, shellPath, true); 
                
                //Registry.ClassesRoot.OpenSubKey(shellPath, true);
                //if (shellSet == null)
                //{
                //    Registry.ClassesRoot.CreateSubKey(shellPath);
                //    shellSet = Registry.ClassesRoot.OpenSubKey(shellPath, true);
                //}
    
                RegistryKey menuSet = GetSubKey(shellSet, menuId, true);                                                // 创建Menu菜单项
                if (!menuSet.GetValue("", "").ToString().Equals(menuName)) menuSet.SetValue("", menuName);              // 菜单项显示名称
                if (!menuSet.GetValue("icon", "").ToString().Equals(exePath)) menuSet.SetValue("icon", exePath);        // 菜单项显示图标
    
                RegistryKey commandSet = GetSubKey(menuSet, "command", true);                                           // 添加command命令Set
                string commandInfo = exePath + (callBackArg == null ? "" : (" \"" + callBackArg + "\" ")) + " \"%1\"";  // %1为系统传递的文件或文件夹完整路径信息
                if (!commandSet.GetValue("", "").ToString().Equals(commandInfo)) commandSet.SetValue("", commandInfo);  // 添加命令内容
            }
    
            /// <summary>
            /// 从curKeySet下获取subkey
            /// </summary>
            /// <param name="curKeySet"></param>
            /// <param name="subKey"></param>
            /// <param name="autoCreate">不存在时是否创建</param>
            /// <returns></returns>
            private static RegistryKey GetSubKey(RegistryKey curKeySet, string subKey, bool autoCreate = false)
            {
                RegistryKey subSet = curKeySet.OpenSubKey(subKey, true);
                if (subSet == null && autoCreate) subSet = curKeySet.CreateSubKey(subKey);
                return subSet;
            }
    
            /// <summary>
            /// 示例:为所有类型文件以及文件夹,添加系统右键shell菜单
            /// </summary>
            public static void AddContextMenu(string exePath)
            {
                string ToolName = "ContextIteamName";
                //string exePath = Application.ExecutablePath;
    
                // 为所有类型的文件添加 系统菜单
                RegistryTool.AddWindowsContextMenu("*", ToolName, "自定义右键菜单1", exePath, null);
    
                // 为文件夹添加 系统菜单
                RegistryTool.AddWindowsContextMenu(null, ToolName, "自定义右键菜单1", exePath, null, true);
            }
    
            #endregion
    
        }
    }
    

    展开全文
  • 这是个Winform窗体程序 里面有三个demo例子 1.ListView右键菜单 2.下载文件进度条同步 3.C#操作word文件
  • C# 右键菜单注册表改写

    千次阅读 2016-12-21 14:10:16
    C# 右键菜单修改注册表

    1.改写注册表,并将工程属性改成以管理员身份运行。具体方式:在工程的properties上右击,打开,点击属性窗口左侧的“安全性”,勾选右侧的“启动ClickOnce安全设置”,就会在Properties目录下出现app.manifest文件,将里面的“”改成“ ”。再将“启动ClickOnce安全设置”上的勾选去掉,即可。此时,生成的exe上会出现一个以管理员身份运行的图标,双击exe将自动以管理员身份运行。
    这样做右击一个文件,是能用自己的应用程序打开该文件的,但出现右击多个exe,就会出现问题。
    private bool RegisterRightMenu()
    {
    try
    {
    RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@”*\shell”,
    RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
    if (shellKey == null)
    shellKey = Registry.ClassesRoot.CreateSubKey(@”*\shell”);
    //创建项:右键显示的菜单名称
    RegistryKey rightCommondKey = shellKey.CreateSubKey(“资源拷贝工具(” + Application.ProductVersion + “)”);
    RegistryKey associatedProgramKey = rightCommondKey.CreateSubKey(“command”);

                //创建默认值:关联的程序
                //associatedProgramKey.SetValue(string.Empty, Process.GetCurrentProcess().MainModule.FileName + " %1");
                associatedProgramKey.SetValue(string.Empty, Process.GetCurrentProcess().MainModule.FileName + " %1");
                //associatedProgramKey.SetValue(string.Empty, @"F:\engeneer\x51_8796\exe\资源拷贝工具\ResCopyTool.exe %1");
                //刷新到磁盘并释放资源
                associatedProgramKey.Close();
                rightCommondKey.Close();
                shellKey.Close();
    
                RegistryKey shellKey1 = Registry.ClassesRoot.OpenSubKey(@"directory\shell",
                RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
                if (shellKey1 == null)
                    shellKey1 = Registry.ClassesRoot.CreateSubKey(@"directory\shell");
                //创建项:右键显示的菜单名称
                RegistryKey rightCommondKey1 = shellKey1.CreateSubKey("资源拷贝工具(" + Application.ProductVersion + ")");
                RegistryKey associatedProgramKey1 = rightCommondKey1.CreateSubKey("command");
    
                //创建默认值:关联的程序
                associatedProgramKey1.SetValue(string.Empty, Process.GetCurrentProcess().MainModule.FileName + " %1");
                //刷新到磁盘并释放资源
                associatedProgramKey1.Close();
                rightCommondKey1.Close();
                shellKey1.Close();
    
                return true;
            }
            catch (Exception e)
            {
                Outputs.WriteLine(OutputMessageType.Error, "设置右键菜单失败:" + e.Message);
                return false;
            }
        }
    
        private bool UnRegisterRightMenu()
        {
            try
            {
                RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@"*\shell",
                    RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
                if (shellKey == null)
                    shellKey = Registry.ClassesRoot.CreateSubKey(@"*\shell");
    
                shellKey.DeleteSubKey("资源拷贝工具(" + Application.ProductVersion + ")\\command");
                shellKey.DeleteSubKey("资源拷贝工具(" + Application.ProductVersion + ")");
    
                //刷新到磁盘并释放资源
                shellKey.Close();
    
                RegistryKey shellKey1 = Registry.ClassesRoot.OpenSubKey(@"directory\shell",
                RegistryKeyPermissionCheck.ReadWriteSubTree, System.Security.AccessControl.RegistryRights.FullControl);
                if (shellKey1 == null)
                    shellKey1 = Registry.ClassesRoot.CreateSubKey(@"directory\shell");
    
                shellKey1.DeleteSubKey("资源拷贝工具(" + Application.ProductVersion + ")\\command");
                shellKey1.DeleteSubKey("资源拷贝工具(" + Application.ProductVersion + ")");
                shellKey1.Close();
    
                return true;
            }
            catch (Exception e)
            {
                Outputs.WriteLine(OutputMessageType.Error, "设置右键菜单失败:" + e.Message);
                return false;
            }
        }
    

    2.查询右键菜单是否有这一项,通过查询注册表:
    private bool GetIsAddRightMenu()
    {
    RegistryKey shellKey = Registry.ClassesRoot.OpenSubKey(@”*\shellex”,
    RegistryKeyPermissionCheck.ReadSubTree, System.Security.AccessControl.RegistryRights.ReadKey);
    if (shellKey == null)
    return false;
    else
    {
    RegistryKey rightMenuKey = shellKey.OpenSubKey(“ContextMenuHandlers”);
    if (rightMenuKey == null)
    {
    return false;
    }
    else
    {
    RegistryKey resCopyToolKey = rightMenuKey.OpenSubKey(“ResCopyToolExtension”);
    if (resCopyToolKey == null)
    {
    return false;
    }
    else
    {
    resCopyToolKey.Close();
    }
    rightMenuKey.Close();
    }
    shellKey.Close();
    }
    return true;
    }
    3.另一种修改右键菜单的方法:

    展开全文
  • C#Tree View右键菜单,树节点编辑,增加节点,删除节点,复制粘贴节点
  • 放置一个ListBox,用于右键菜单操作,并默认添加5个数据项: 2. 添加菜单控件 添加右键菜单控件: 3. 为每个菜单项添加名称 点击右键菜单控制中的【添加】菜单项,然后在属性中找到Name,修改名称: 同样,修改...

    一、菜单控件的基本使用

    1. ListBox

    放置一个ListBox,用于右键菜单操作,并默认添加5个数据项:

    2. 添加菜单控件

    添加右键菜单控件:

    3. 为每个菜单项添加名称

    点击右键菜单控制中的【添加】菜单项,然后在属性中找到Name,修改名称:

    同样,修改其它两个菜单项的名称。

    二、设置为右键菜单

    1. 添加鼠标单击事件

    给ListBox添加鼠标事件MouseUp:

    2. 弹出菜单

    在鼠标单击事件回调函数中,弹出菜单:

    private void listBox1_MouseUp(object sender, MouseEventArgs e)
    {
        if (e.Button == MouseButtons.Right)
        {
            contextMenuStrip1.Show(listBox1, e.Location);
        }
        
    }
    

    运行,效果如下:

    3. 根据鼠标点击位置区分不同功能

    private void listBox1_MouseUp(object sender, MouseEventArgs e)
    {
        // 是否右键单击
        if (e.Button == MouseButtons.Right)
        {
            // 是否在空白处单击
            int index = listBox1.IndexFromPoint(e.Location);
            if (index >= 0)
            {
                // 选中该项
                listBox1.SetSelected(index, true);
    
                // 开启修改、添加、删除功能
                ModifyToolStripMenuItem.Enabled = true;
                DeleteToolStripMenuItem.Enabled = true;
            }
            else
            {
                // 清空选择
                listBox1.ClearSelected();
    
                // 空白处单击,只显示添加
                ModifyToolStripMenuItem.Enabled = false;
                DeleteToolStripMenuItem.Enabled = false;
            }
    
    
            contextMenuStrip1.Show(listBox1, e.Location);
        }
    }
    

    运行,看看效果:

    三、右键菜单项的回调

    直接双击该菜单项:

    自动添加回调函数:

    private void AddToolStripMenuItem_Click(object sender, EventArgs e)
    {
        listBox1.Items.Add("new student");
    }
    

    看看效果:

    展开全文
  • 摘要:C#源码,菜单窗体,任务栏,右键菜单 Visual C#程序禁用任务栏的右键菜单,是禁用右键菜单,不是任务栏,在程序窗口中操作“禁用任务栏的右键菜单”按钮,在任务栏上点击鼠标右键,则不会出现菜单了,被禁用了,...
  • 本文实例讲述了C#设置右键菜单的方法。分享给大家供大家参考。具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; ...
  • ContextMenuStrip和ContextMenu的不同,其实就是一个新一个旧。ContextMenuStrip控件替换ContextMenu控件并向其添加功能;但是也可选择保留ContextMenu控件以备向后兼容和将来使用。 ...
  • C#开发的WPS插件源码,往WPS工具栏中插入自定义菜单和往单元格右键菜单添加自定义菜单,开发环境:VS2010。
  • C#/Winform 右键菜单-ContextMenuStrip控件,可用于TreeView的右键菜单,同样可用于ListBox,Lable等其他控件。简洁的说明了实现方式及如何获取点击的对象。
  • C# 右键菜单设置

    千次阅读 2012-11-30 09:12:54
    C#工具箱中已经找不到 ... 您可以将ContextMenuStrip 与任何控件关联,单击鼠标右键会自动显示快捷菜单。 您可以通过使用 Show方法以编程方式显示 ContextMenuStrip。 ContextMenuStrip 支持可取消的 Op
  • 右键点击行时选中行,并弹出操作菜单 (1). 添加一个快捷菜单contextMenuStrip1; (2). 给dataGridView1的CellMouseDown事件添加处理程序: 程序代码 private void DataGridView1_CellMouseDown(object sender, ...
  • c#右键菜单使用源代码 免费源代码 实现右键菜单 最简单方式
  • 右键菜单的Opening事件内获取鼠标的坐标如果不能强转成node,则取消响应 private void flowRightMenu_Opening(object sender, CancelEventArgs e) { // Select this node. var node_here = tv_Flows.GetNodeAt...
  • C#添加鼠标右键方法步骤 1 选中要添加右键功能的Form或者控件,打开控件的设计页面。 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上。这时系统就会在这个页面下面自动创建一个...
  • C#创建右键菜单

    2022-01-24 21:52:51
    范例说明:本范例讲解如何创建右键菜单,重点请注意菜单控件ContextMenuStrip的使用. 关键步骤: 1.创建一个新的Windows工程。 2.把ContextMenuStrip控件拖放到设计界面上,Name属性设置为cmMenu. 3.单击...
  • 类似Winrar的自定义右键菜单,完整的DEMO程序。 自定义鼠标右键菜单(包括菜单小图标,次级菜单,回传程序),可一次性处理多个目录和文件,获取相关地址,将地址作为参数列表传递给后续WPF处理程序 资源中包含右键...
  • C#开发右键菜单

    千次阅读 2016-10-12 19:32:59
    C# 右键菜单
  • C#右键删除

    千次阅读 2021-11-25 21:55:26
    右键删除行,第一种 string mouseorderid; private void gridControl2_Click(object sender, EventArgs e) { mouseorderid =gridView2.GetDataRow(gridView2.FocusedRowHandle)[0].ToString(); } private void ...
  • textbox右键菜单

    2020-12-10 09:08:47
    Page 1 A:link { TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } A:active { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline overline } ... scrollbar-face-c
  • C# 修改系统的右键菜单C# 修改系统的右键菜单C# 修改系统的右键菜单C# 修改系统的右键菜单C# 修改系统的右键菜单
  • WPF 与 WinForm 调用系统右键菜单/资源管理器右键菜单/桌面右键菜单示例 内含 WPF 与 WinForm 示例
  • 对部分图片显示控件、按钮控件上添加鼠标右键,自动显示需要增加了附加选项,以菜单栏的形式显示出来。 页面显示 按钮命名(自定义) 功能实现(双击进入槽函数) 页面显示(附着于某处,以Form1为例子) 代码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,508
精华内容 9,403
关键字:

c# 右键菜单

c# 订阅