【C#】C# Winfrom 右键菜单
目录
一、概述
ContextMenuStrip 是 Windows 窗体应用程序中的一个控件,它提供了一个弹出菜单,用于在用户右键单击控件或其他界面元素时显示上下文相关的选项。它通常用于在图形用户界面中提供快捷操作和功能。
ContextMenuStrip 控件可以通过在 Visual Studio 的设计器中拖放方式添加到窗体上,或者通过编程方式创建和配置。它可以与其他控件(如按钮、文本框等)关联,以便在用户右键单击这些控件时显示相应的菜单选项。
要使用 ContextMenuStrip 控件,您需要为它添加菜单项。菜单项可以通过设计器中的上下文菜单项集合进行配置,也可以通过编程方式进行操作。每个菜单项都可以设置文本、图标、快捷键等属性,并且可以关联事件处理程序,以便在用户选择菜单项时执行相应的操作。
除了基本的菜单项,ContextMenuStrip 还支持子菜单的创建。子菜单允许您创建多级菜单结构,以便更好地组织和呈现选项。 使用 ContextMenuStrip 控件,您可以轻松地为您的应用程序添加弹出菜单功能,提供更好的用户交互体验和操作便捷性。
二、新建 winform 项目
拖入一张图片控件,其他的控件也行,再拖入一个 ContextMenuStrip 控件
在 ContextMenuStrip 控件里添加两个菜单
三、给图片控件添加右键菜单
点击图片控件,在属性行为中找到 ContextMenuStrip 选项
选择刚刚创建的菜单 ContextMenuStrip 控件,这里的控件名是自定义的
四、给菜单添加点击事件
在视图界面上,对菜单1,菜单2 选项双击,会自动生成点击事件。
点击菜单2,在属性窗口也可以看到具体设置 ,比如,菜单2的点击事件
在Form1中,就随意加点代码吧
private void 菜单1ToolStripMenuItem_Click(object sender, EventArgs e) { Console.WriteLine("菜单1"); } private void 菜单2ToolStripMenuItem_Click(object sender, EventArgs e) { Console.WriteLine("菜单2"); }
将输出类型改为控制台输出
五、测试
点击右键
点击菜单1,就可以看到运行效果了
其实多加几个 ContextMenuStrip 控件不会有影响
源码:点击下载
结束
如果这个帖子对你有所帮助,欢迎 关注 、点赞 、留言
end
原文链接https://blog.csdn.net/qq_38693757/article/details/125758808
猜你喜欢
- 【C#】Winform解决方案打包成.exe 安装版Windows桌面应用程序
- 踩了几天的坑,慢慢爬出来了。帮助一下新手友人吧,高手请绕路。IDE Version:Visual Studio 20191.安装Microsoft Visual Studio Installer Project(1)打开Visual Studio 2019,扩展->管理扩展(2)搜索install,下载图中的扩展即可(我已经安装了,所以没有下载按钮)按照操作安装即可2.打包(1)右键 解决方案->添加->新建项目(2)搜索setup->选择 Setup Project-&
- 【C#】C# Winform 多个程序之间的通信(非Scoket)
- 效果功能:打开窗体自动连接主程序,并自动添加到列表,可以向子程序群发消息可以向单个程序单独发送消息在退出程序后,添加的程序列表会自动移除一、概述参考:C# Winfrom程序之间通讯_c# sendmessege copydatastruct 返回多个值_熊思宇的博客-CSDN博客在之前我写过 winform 程序与程序之间的通信,但是这个版本有个问题,那就是只能由两个程序进行通信,同时打开多个程序的话,接收方收到的数据就会一模一样,这次发表这个教程,也就是要解决这个问题。归根结底,还是&nbs
- 【C#】C#调用win10系统自带软键盘的方法
- 上次做了个笔记是关于调用windows系统自带的触摸键盘的方法:C#调用Windows系统自带触摸键盘的方法_c# 虚拟键盘-CSDN博客除了调用触摸键盘,我们也可以通过调用win10的自带软键盘作为输入途径。方法很简单。1、添加using System.Diagnostics引用。2、创建进程Process Winvirkey = Process.Start("osk.exe");3、打开键盘:Winvirkey = Process.Start("osk.exe&
- 【C#】C# Winfrom 常用功能整合-1
- 目录Winform 最大化遮挡任务栏和全屏显示问题Winfrom 给图片画 矩形,椭圆形,文字Winfrom TabControl选项卡 动态添加,删除,修改Winform ErrorProvider控件Winform 读取Resources图片Winfrom 读取内存条占用大小,硬盘占用大小Winform 全局捕获异常Winform 用线程写入TXT文件,并更新UI和进度Winform 摄像头识别二维码,保存图片Winform 判断窗体是否已打开Winform 动态添加菜单列表,点击切换对应面
- 【C#】C# Winform程序之间通讯
- 实现原理通过Windows系统中 User32.dll 中的 FindWindow 方法来寻找系统正在运行的程序句柄,通过 SendMessage 方法来发送消息,winform 中的 WndProc 方法来接收消息,下面是SendMessage,FindWindow 这两个参数的具体介绍:1.SendMessage该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。该函数是应用程序和应用程序之间进行消息传递的主要手段之一 函数原型:I
- 【C#】Winform NanUI 0.77版本 读取嵌入式资源
- 引入NanUI框架这三个组件都要引入了,NetDimension.NanUI.AssemblyResourceHandler 是属于嵌入式资源部分,下载地址:由于作者已经废弃了这个版本,在VS2019中的 NuGet 程序包 中已经下载不了,我这里上传了,有需要的可以点击下面链接下载NanUI.AssemblyResourceHandler.0.7.4 下载 另外,NanUI.AssemblyResourceHandler 源码github地址:GitHub - maxjov
- 【C#】C#md5加密
- using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; namespace mdstr { internal
- 【C#】C#超急速举例入门-适用有C/C++语言基础
- 前提编程环境:vs2022电脑系统:win10学习目的:能看懂c#,不纠结各种细节,快速适应开发。入门篇程序结构变量类型类似c语言,不掌握细节,int,float,double都有。输入输出Console.WriteLine("变量0:{0}", para0); var a=Console.ReadLine(); 运算符几乎相同。sizeof();typeof();取地址,取值:&,*;三元运算符: ? :判断类型:is强制转换:as。注