Winform中实现将照片剪贴到系统剪切板中(附代码下载)
程序员文章站
2023-04-04 14:54:50
场景 效果 点击剪切按钮 点击粘贴按钮 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建一个form窗体,设计布局如下 主要是有两个PictureBox控件以及四个按钮 ......
场景
效果
点击剪切按钮
点击粘贴按钮
注:
博客主页:
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。
实现
新建一个form窗体,设计布局如下
主要是有两个picturebox控件以及四个按钮,下面是一个imagelist控件,然后给其添加三张照片。
在窗体的load事件中实现加载窗体时默认显示imagelist的第一张照片
private void form1_load(object sender, eventargs e) { //加载窗体时默认显示imagelist中的第一章图片 picturebox1.image = imagelist1.images[0]; //加载时“上一张”按钮处于不可用状态 previoussheet.enabled = false; }
因为imagelist中有三张照片所以设置下一张按钮的点击事件
private void nextsheet_click(object sender, eventargs e) { //激活“上一张”按钮 previoussheet.enabled = true; //判断是否越界 if (i <imagelist1.images.count) { i++; //判断是否浏览到最后一张 if (i==imagelist1.images.count-1) { nextsheet.enabled = false; } //当不越界时 if (i < 3) { picturebox1.image = imagelist1.images[i]; } } }
同理设置上一张按钮的点击事件
private void previoussheet_click(object sender, eventargs e) { nextsheet.enabled = true; if (i < imagelist1.images.count) { i--; if (i == 0) { previoussheet.enabled = false; } if (i >=0) { picturebox1.image = imagelist1.images[i]; } } }
设置剪切按钮的点击事件
private void cut_click(object sender, eventargs e) { //将数据置于系统剪贴板中,并指定在退出程序后是否是否将数据保留在剪贴板中 clipboard.setdataobject(imagelist1.images [i],false ); messagebox.show("剪切成功!","提示信息",messageboxbuttons.ok,messageboxicon.asterisk ); }
主要是调用clipboard的setdataobject方法。此方法将数据置于系统剪切板中,第二个参数指定在退出程序后是否将数据保留在剪贴板中。
然后编写粘贴按钮的点击事件
private void copy_click(object sender, eventargs e) { picturebox2.image = clipboard.getimage(); messagebox.show("剪切成功!", "提示信息", messageboxbuttons.ok, messageboxicon.asterisk); }
主要是通过clipboard的getimage()方法获取剪切板中的照片并给右边的picturebox设置数据源。
代码下载
https://download.csdn.net/download/badao_liumang_qizhi/12028591
上一篇: C# 获取目录路径