用C#实现截图功能(类似QQ截图)Neeo

在公司,不能自己安装软件,也不能下载,但有时候需要截图。用PrintScreen键只能截取全屏,感觉很麻烦。于是决定自己编写一个截图工具。

程序运行截图如下:

图中心矩形为即将截取区域

程序很粗糙,希望大家提出宝贵意见。

1,自定义矩形类MyRectangle

.NETFramework中本身没有这样的矩形,因此要自定义实现。

intX记录矩形左上角x坐标

intY记录矩形左上角y坐标

intDownPointX绘制矩形时鼠标落点x坐标

intDownPointY绘制矩形时鼠标落点y坐标

intWidth矩形宽

intHeight矩形高

intMinWidth矩形最小宽度

intMinHeight矩形最小高度

boolChangeSizeMode标识矩形当前绘制模式是否为“改变大小”

boolMoveMode标识矩形当前绘制模式是否为“移动”

boolMouseOnLeftTop标识鼠标当前位置是否在矩形左上角

boolMouseOnLeftMiddle标识鼠标当前位置是否在矩形左边中点

boolMouseOnLeftBottom标识鼠标当前位置是否在矩形左下角

boolMouseOnRightTop标识鼠标当前位置是否在矩形右上角

boolMouseOnRightMiddle标识鼠标当前位置是否在矩形右边中点

boolMouseOnRightBottom标识鼠标当前位置是否在矩形右下角

boolMouseOnTopMiddle标识鼠标当前位置是否在矩形顶边中点

boolMouseOnBottomMiddle标识鼠标当前位置是否在矩形底边中点

boolMouseOnMiddle标识鼠标当前位置是否在矩形中心

intLittleRectangleWidth矩形周边8个小矩形的宽度

intLittleRectangleHeight矩形周边8个小矩形的高度

RectangleLeftTopRectangle矩形左上角小矩形

RectangleLeftMiddleRectangle矩形左边中点小矩形

RectangleLeftBottomRectangle矩形左下角小矩形

RectangleRightTopRectangle矩形右上角小矩形

RectangleRightMiddleRectangle矩形右边中点小矩形

RectangleRightBottomRectangle矩形右下角小矩形

RectangleTopMiddleRectangle矩形顶边中点小矩形

RectangleBottomMiddleRectangle矩形底边中点小矩形

RectangleRect主体矩形

SizeSize矩形大小

ImageBackImage背景图片CursorMyCursor光标样式

矩形本身包含监测当前绘制模式和绘制方法,主要方法成员如下:

SetLittleRectangle()设置8个小矩形Draw(ColorbackColor)绘制方法,+1重载ChangeSize(MouseEventArgse)改变矩形大小Move(intnewX,intnewY)改变矩形位置CheckMouseLocation(MouseEventArgse)判断鼠标当前落点setAllModeFalse()将所有模式设定为falsepublicboolonChangingMode()判断当前绘制模式是否为“改变大小”或“移动”Initialize(intx,inty,intwidth,intheight)根据给定参数初始化矩形

MyRectagle类代码实现如下:

2,建立截图主窗口

核心类MyRectangle已经完成,剩下的工作就是使用改类实现预想的截图功能。

修改ScreenBody的引用命名空间为:

在ScreenBody类中添加如下私有成员:

修改ScreenBody构造函数:

添加ScreenBody窗口的DoubleClick、MouseDown、MouseUp、MouseMove及Load事件代码:

为了不至截到panel1,添加panel1的MouseEnter事件如下:

3,创建热键类

添加类HotKey

HotKey.cs文件内容如下

4,使用热键及托盘区图标

为了使程序更方便使用,程序启动的时候最下化到托盘区,在按下程序热键时会启动截图功能。这些功能在程序的主窗口MainForm类中实现。

为了在托盘区显示图标,为MainForm添加一个NotifyIcon控件,为其指定一Icon图标,并设定visable属性为true

为了实现可以更改热键,首先在项目属性的Setting中添加如下图成员:

MainForm.cs文件代码如下:

5,添加设定热键功能:

新建窗口,命名为SetHotkey,该窗口样式及主要控件命名如下图所示

设定窗口主体FormBorderStyle属性值为FixedToolWindow,Text属性为SetHotKey,MaximizeBox和MinimizeBox属性为false。添加checkBox1的(ApplicationSettings)-(PropertyBinding)-Checked为isCtrlHotKey,CheckState为Checked,Enable属性为false,Text属性为Ctrl添加checkBox2的(ApplicationSettings)-(PropertyBinding)-Checked为isAltHotKey,CheckState为Checked,Enable属性为true,Text属性为AltcomboBox1的Items值为AZX

为按钮btnDefault添加click事件

为按钮btnOk添加click事件

为按钮btnCancel添加click事件

为SetHotkey窗口添加load事件

6,防止程序多次运行

为防止程序多次运行,修改Program.cs文件内容如下:

注意:程序中用到了一些图片,Icon文件和cur文件,请复制系统目录(C:"WINDOWS"Cursors)下的hcross.cur、move_m.cur、size1_m.cur、size2_m.cur、size3_m.cur、size4_m.cur文件到.."ScreenCutter"ScreenCutter"Cursors目录下,在.."ScreenCutter"ScreenCutter"Icons目录下添加相应图标,在.."ScreenCutter"ScreenCutter"Images目录下添加相应图片。如路径不同,请在代码中自行更改。

THE END
1.如何在QQ中进行截图操作?如果想用其他组合键实现这一功能,可以选中“捕捉屏幕”项后,在按下自己想要的热键组合即可。 (图片来源网络,侵权删除) 三、常见问题及解决办法 1、QQ不能截图或截下来为黑屏:这可能是因为你在截图设置中勾选了“截图时隐藏当前窗口”,只需去掉该勾选即可,有些窗口是通过特殊方法显示在屏幕上的,是无法截取下来的https://blog.huochengrm.cn/ask/14594.html
2.QQ怎么实现快速截图设置打开QQ软件,选择设置,点击设置热键按钮,并设置好热键,最后关闭设置,这样就解决了QQ实现快速截图设置。工具/原料 联想天逸510S Windows10 QQ9.5.1.27888 方法/步骤 1 打开QQ软件双击QQ,打开QQ软件。2 选择设置点击QQ面板左下角的主菜单,选择设置。3 点击热键点击面板左侧的热键。4 点击设置热键按钮在热键https://jingyan.baidu.com/article/da1091fb1f54a9437949d677.html
3.QQ截图教程:轻松学会如何在QQ上进行截图操作4、打开画图工具或其他图片编辑软件,粘贴截图。 5、根据需要进行编辑、保存或分享截图。 二、QQ截图的高级功能 1、截取指定区域:按下Ctrl+Alt+A组合键,鼠标变为十字形,拖动鼠标选择需要截取的区域。 2、延时截图:按下Ctrl+Alt+T组合键,设置延时时间后,QQ截图将在延时结束后自动截取屏幕。 https://www.958358.com/itother/119772.html
4.电脑的基本操作知识有哪些实用电脑操作技巧大全→MAIGOO知识常用软件提供的录制功能 1、PowerPoint Office用户可以借助演示文稿直接进行屏幕录制,新建演示文稿以后通过工具栏的插入-屏幕录制可进入该功能,在设置好录制区域、声音来源之后可开始录制。 2、QQ 打开一个对话框,鼠标移动到截图(小剪刀)的位置选择“屏幕录制”功能;框选录制区域,确认是否将麦克风/系统声音静音,点击录制https://www.maigoo.com/goomai/243055.html
5.macqq截图保存在哪?Macqq截图保存文件夹怎么设置攒机网mac qq截图保存在哪?Mac qq截图保存文件夹怎么设置 截图工具是我们工作中经常使用的一款工具,因为QQ中内置了截图功能,而且使用非常简单和方便,所以很多朋友喜欢使用QQ进行截图,最近有个使用Mac系统的朋友问笔者,他使用Mac电脑中的QQ进行了截图,好几天都找不到截下来的图片,不知道保存到什么地方了,今天笔者给大家介绍http://www.cuanjiwang.com/8256.html
6.新版qq截屏在哪里3、编辑和发送:选好区域后点击确认,qq会将截图显示在聊天窗口中,你可以对其进行简单的编辑(如添加标注、文字等),然后发送给好友。 快捷键操作 –默认快捷键:在大多数情况下,qq的截屏快捷键是ctrl + alt + a(windows系统)或command + shift + a(macos系统),你可以在设置中查看或修改这个快捷键。 https://www.mingyunw.com/archives/107838.html
7.QQ截图保存在哪里?在日常使用QQ聊天的过程中,我们经常会用到截图功能,我们需要将截图保存下来,以便后续使用,QQ截图保存在哪里呢?下面就为大家详细介绍一下。 找到QQ截图保存路径 1、打开QQ软件,登录自己的账号。 2、在聊天窗口中,点击截图按钮,或者使用快捷键Ctrl+Alt+A进行截图。 https://www.kdun.com/ask/490949.html
8.电脑端qq中的截屏功能在哪?怎么设置qq截屏快捷键呢电脑端QQ的截屏功能在聊天窗口的剪刀图标中。设置快捷键:打开QQ主界面,点击“设置”-“热键”,找到“截图”选项,自定义设置快捷键。 电脑端QQ中的截屏功能位置 方法一:使用快捷键 1、打开QQ聊天窗口。 2、按下键盘上的“Ctrl+Alt+A”组合键,即可激活截屏功能。 https://www.shiwaiyun.com/post/46164.html
9.MAC版QQ截图保存路径怎么设置?很有伙伴不知道Mac版QQ截图保存在哪里?小伙伴们也不知道怎么设置,这成为大家的困扰,下载吧小编带大家一起来看看,MAC版QQ截图保存路径设置教程。 Mac QQ截图保存在哪里?MAC版QQ截图保存路径怎么设置? 方法一:打开一个聊天窗口,Mac OS系统左上角的导航栏显示QQ的各种功能界面。https://www.xiazaiba.com/jiaocheng/31856.html
10.电脑管家工具箱在哪里?产品功能 热门内容 1 磁盘空间不足怎么清理 2 电脑管家工具箱在哪里? 3 QQ能上网,网页打不开怎么办? 4 如何备份QQ聊天记录 5 该设备正在使用中 6 微信打开链接无法加载网页 7 使用VPN后无法上网怎么办 8 Windows 10如何关闭锁屏广告 9 重定向次数过多 10 手动设置IP时出现“已计划将多个默认https://guanjia.qq.com/knowledge-base/content/1551
11.QQ截图教程:轻松学会QQ如何进行截图操作电脑知识2、在学习中,需要截取电脑屏幕上的某个知识点或笔记,可以使用QQ截图进行截图操作。 3、在游戏中,想要分享游戏截图给好友或社交媒体,可以使用QQ截图进行截图操作。 内容延伸: 1、QQ截图还支持延时截图功能,可以设置延时时间后进行截图,适用于需要等待一段时间后再进行截图的场景。 https://smart.163987.com/jiaocheng/143211.html
12.电脑扣扣截的图在哪里业界新闻电脑扣扣截的图在哪里 QQ截图文件默认保存在**QQ安装目录下的Image文件夹中**,您可以通过系统设置中的“文件管理”选项快速找到截图保存位置。,,QQ截图是腾讯QQ社交软件中的一项实用功能,用户在聊天或工作中利用该功能可以方便快捷地捕捉屏幕内容。当您使用QQ截图功能后,图片通常会被自动保存至电脑的指定文件夹内。https://www.jindouyun.cn/document/industry/details/193743
13.万能五笔3.增加了使用快捷键使用截图功能 4.增加了在全码匹配时显示词组的功能 5.增加了候选重码时,一二级、简码置后和隐藏的功能 6.增加了可以设置单字和词组优先的功能 7.增加了默认皮肤增加自定义状态栏的功能 8.增加了词库管理工具,可以更好的管理词库 9.重新优化了输入法的整体UI 10.重新优化了拼音功能,提供更https://baike.sogou.com/lemma/ShowInnerLink.htm?lemmaId=554853
14.MacOSX下QQ截图功能开机自启设置方法macqq截图需要点开文件夹QQ 的截图功能里面是没有开机自启设置的,只有一个退出 QQ 后继续运行的选项。 那么如何设置这个功能自启呢?其实很简单 截止2017年07月18日,QQ已经更新到 6.0.1 了! 截止2016年09月13日,QQ已经更新到 5.1.2 了! 最近这段时间 QQ 的更新速度非常快,说明了 Tencent 对 Mac 用户的关注度越来越高,这是一件https://blog.csdn.net/maxsky/article/details/52527991
15.QQ截图怎么保存到jpgQQ截图默认保存jpg或png格式方法最近,应该是很久以来,部分童鞋发现:以前QQ截图默认格式都是JPG格式,但是为何现在保存的都是PNG格式了?(保存时,或许可以自己选择,但是非常的麻烦),然而,最主要的原因是,绝大部分地方不支持PNG格式的图片使用。 那么,请问我们该如何去设置,才可以使用QQ截图功能,默认是JPG格式呢? https://www.qqtn.com/article/article_105626_1.html
16.QQ屏幕截图马赛克工具在什么位置QQ技巧QQ专栏QQ屏幕截图工具应该是咱们平时截图使用最多的工具了,其实QQ截图功能远不止这点,他还有马赛克功能,截图后马上就可以使用马赛克,这也算最方便的,如何使用QQ马赛克功能? 方法/步骤 1、首先我们电脑必须登录一个QQ号; 2、方法一:任意打开一个对话窗口,在对话窗口中找到一把剪刀的图标,这就是“屏幕截图”也就是咱们常https://www.jb51.net/qq/452279.html
17.《QQ浏览器》的页面截图功能如何使用?各位读者朋友们,接下来我们将为大家详细介绍《QQ浏览器》的页面截图功能,帮助大家轻松掌握如何使用这一实用的工具。本文将围绕截图功能的开启、使用方法、注意事项等方面展开,希望对大家有所帮助。 一、功能开启 首先,打开《QQ浏览器》并登录您的账号。在主界面右上角,点击设置图标,进入设置页面。在“高级设置”选项https://www.sousou.com/bk/233929.html
18.QQ截图快捷键在哪里怎么设置QQ截图快捷键在哪里怎么设置_Miggy 2018-05-09 大家常常会用到QQ的截图快捷键,因为它十分方便快捷。但有时如果不想用默认的键CTRL+alt+A,应该怎么设置呢?一起来看看吧! 方法 1/3 首先,打开QQ主界面,在左下角有一个三条横杠的标志,点击它并点击【设置】 2/3 接着,进入了系统设置界面。点击【热键】https://xinzhi.wenda.so.com/m/a/1525847753619141
19.QQ截图最新独立版,简单易用的经典截图工具乐软博客QQ截图最新独立版,简单易用的经典截图工具 截图作为日常的高频操作,它的重要性不言而喻,在Windows中,微软有内置的截图工具,但功能单一,体验实在一般。而第三方的截图工具五花八门,大部分功能丰富各有特色,不仅具备常规的截图,更兼顾识图、gif录制、图片编辑、长图拼接等实用工具,例如老早推荐的国内经典截图工具https://www.isharepc.com/34098.html
20.QQ功能——屏幕捕捉(截屏)的推荐QQ截图的功能相对已经非常完善了,首先讲讲使用方式,然后分析各个功能。 一、使用方式: 1.先在电脑上登录完整版QQ; 2.然后就可以使用了。一般来说,QQ截图快捷键是Ctrl+Alt+A,可以在如下路径中查找:QQ左下角三条横线-->设置-->热键-->设置热键查看捕捉屏幕是不是Ctrl+Alt+A。注意:看捕捉屏幕后面的状态是不https://www.jianshu.com/p/b039b2efa6b9
21.电脑截图快捷键有哪些?超实用的8种截图方法猜你喜欢 电脑上怎么截图按什么键?电脑上的文件如何截图 电脑微信截图快捷键怎么操作,截图快捷键设置在哪里 5种方式教您电脑截图快捷键!(2023年最新) 电脑怎么长截图,电脑滚动截图技巧大全 数据恢复方法有哪些,3个电脑数据恢复方法教程推荐 电脑文件丢失了怎么恢复,电脑怎么找回彻底删除的文件 产品https://www.shujuwa.net/diannao/8-computer-screenshot-shortcut-key