C#软件开发实例.私人订制自己的屏幕截图工具(三)托盘图标及菜单的实现

概述

添加托盘图标功能主要是为了添加菜单功能,可以通过托盘图标来管理程序;托盘菜单包括“打开保存目录、录制Flash动画、录制GIF动画、延时5秒截图、截图、设置、退出”等功能。

系统托盘

系统托盘是个特殊区域,通常在桌面的底部,在那里,用户可以随时访问正在运行中的那些程序。在微软的Windows里,系统托盘常指任务栏的状态区域;在Gnome的桌面时,常指布告栏区域;在KDE桌面时,指系统托盘。在每个系统里,托盘是所有正运行在桌面环境里的应用程序共享的区域。

添加托盘图标

在Form1窗体设计模式下,鼠标移动到左侧工具箱上,弹出工具箱主面板,在公共控件中找到NotifyIcon并双击它

双击之后会发现在窗体下面多了一个“notifyIcon1”

选中“notifyIcon1”,在右侧的属性窗口中设置Text属性为:屏幕截图工具

添加图标资源

选择菜单:项目》属性,然后选择资源,切换到图标视图

单击“添加资源”下拉按钮》添加现有文件

选择一个事先准备好的图标文件,确定

在“Form1_Load”事件中添加以下代码:

this.notifyIcon1.Icon = Properties.Resources.cutImage;
this.notifyIcon1.Visible = true;

编译,运行,在任务栏就可以看到了,鼠标移动到托盘图标上,会显示刚刚设置的属性信息“屏幕截图工具”。

添加托盘菜单

打开工具箱》菜单和工具栏》双击“ContextMenuStrip”,添加右键菜单

添加菜单项,那条线(分隔符)只要输入一个减号就可以了

菜单文本是中文的,所以菜单名称中也会有中文,我不希望代码变量名称有中文,所以把退出的名称改为“tsmi_exit”

在退出菜单项上双击,添加代码

        private void tsmi_exit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

在“Form1_Load”事件处理中添加代码

this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1;

编译,运行,在托盘图标单击鼠标右键,就可以看到以下菜单了,选择退出,就可以退出截图程序了。

到此,托盘图标及菜单的功能就实现完成了。

时间: 2024-10-23 20:12:48

C#软件开发实例.私人订制自己的屏幕截图工具(三)托盘图标及菜单的实现的相关文章

C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能

上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(五)针对拖拽时闪烁卡顿现象的优化 添加设置窗口 在解决方案资源管理器窗口中,右键单击项目名称,在弹出的菜单中选择:添加>Windows窗体: 输入窗体名称"frmSetup": 设置窗体的Text属性为"设置",设置窗体的Size为"472, 276",StartPosition属性为"CenterScreen". 添加设置标签页: 左侧工具箱>窗器:双击&qu

C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标

在使用QQ的截图功能的时候,是不是觉得它的光标很酷呢?今天就说一下怎么应用自定义光标,在我们的截图工具中使用QQ截图的光标. 打开资源: 切换到文件资源视图: 打开资源文件目录,将光标文件复制到此目录下: 所需光标文件下载:C#软件开发实例.私人订制自己的屏幕截图工具中使用的光标文件 选中Resources目录,刷新,显示出刚刚复制进来的光标文件: 选中光标文件,拖动到资源的文件视图中: 资源资源名称中的单词第一个字母改为大写. 光标预览: 在Form1类中添加私有变量: #region 自定义

C#软件开发实例.私人订制自己的屏幕截图工具(七)添加放大镜的功能

上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(六)添加配置管理功能 由于截图时可能需要精确截取某一部分,所以需要放大镜的功能,这样截取的时候才更容易定位截图的位置. 添加PictureBox,name属性设置为"pictureBox_zoom": 在"Form1_Load"事件处理函数中添加以下代码: //设置放大镜的大小 this.pictureBox_zoom.Width = this.ZoomBoxWidth; this.pictureBox_zoom

C#软件开发实例.私人订制自己的屏幕截图工具(十)在截图中包含鼠标指针形状

在写一此帮助说明类的文档时,截取的图片如果还有鼠标的指针形状,看起来就更直观更友好一些.接下来就讲一下如何在截图中包含鼠标指针形状. 上一篇:C#软件开发实例.私人订制自己的屏幕截图工具(九)使用自定义光标,QQ截图时的光标 添加结构CURSORINFO: [StructLayout(LayoutKind.Sequential)] struct CURSORINFO { public int cbSize; public int flags; public IntPtr hCursor; pub

C#软件开发实例.私人订制自己的屏幕截图工具(一)功能概览

概述 开发该软件的原因主要是想订制实现自己想要的功能,比如:自动保存,气泡提示框类型的标注功(主要用于功能说明文档的写作)能. 托盘图标及菜单 添加托盘图标,是因为有些功能还是需要使用菜单呼出,不能什么都用快捷键. 有些东西(菜单.提示框)可能通过快捷键截图的时候截取不到,所以设置了"延时5秒截图"功能. 基本设置 QQ的截图热键是"Ctrl + Alt + A",为了不和它冲突,这里默认使用"Ctrl + Shift + A"作为快捷键. 有些

C#软件开发实例.私人订制自己的屏幕截图工具(二)创建项目、注册热键、显示截图主窗口

开发环境 操作系统:Windows Server 2008 R2 集成开发环境(IDE):Microsoft Visual Studio 2010 开发语言:c# 创建项目 文件>新建>项目 .NET Framework可以选择2.0版本,也可以选择4.0版本: 项目类型选择:Windows窗体应用程序 输入项目名称,确定 项目创建成功,如下图: 修改主窗体属性 修改窗体的"FormBorderStyle"属性为"none",实现一个没有边框的窗体 修改

C#软件开发实例.私人订制自己的屏幕截图工具(四)基本截图功能实现

实现原理 基本截图的功能主要靠响应主窗体的鼠标按下.鼠标移动.鼠标抬起几个事件的功能来实现的.截取的图片区域使用"Label"组件来显示,需要重新实现"Label"组件的"Paint"方法. 左键单击开始截图,右键单击取消截图,双击鼠标左键完成截图,将截取的图片保存到Windows剪贴板中. 添加"Label"组件 工具箱>公共组件>双击"Label"组件,修改组件属性: Name=lbl_Cu

iPhone拍照/摄像软件开发实例

  这个App基于lolfriend的源码改写,完全使用官方API.目前还没实现的功能有:替换 UIImagePickerController的cameraOverlayView;滤镜.其他效果如图,我的测试环境是3.1.2的虚拟机和 3.1.2的iPhone 3GS. 开发实例-iphone7双摄像头拍照"> 附件: CameraDemo.zips 帖子如下: 为什么我联机开发如此简单呢?? 其实今天有点激动的,因为可以通过XCode连接自己的iPod Touch进行程序的运行了. 一般

个人考勤软件开发实例(Update)

更新说明:自拙作 attendance( 2.0 版 ) 个人考勤软件登出后,不时有网友来信交流,最近有网友指出程序中的一个缺陷:在打印预览窗口中工具条按钮的命令状态不能改变.现在这个问题已基本解决.现将改好的源代码(可以算作2.1版)发布出来,同时对说明文档进行了增补(第10点说明). 这个程序是一个个人考勤软件,它从系统时钟获取时间信息,只要上下班时按时在当日考勤栏内点击相应的栏目标题即可逐日记录下个人每天的工作时间,按月统计汇总,按年形成文件.可以随意查看过去的记录,也可把记录按月打印出来