• Winform中实现将照片剪贴到系统剪切板中(附代码下载)


    场景

    效果

    点击剪切按钮

    点击粘贴按钮

    注:

    博客主页:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    新建一个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

  • 相关阅读:
    简体繁体互译代码段:
    require.js使用baseUrl + paths导入文件配置的3种方法
    vue + vue-router + vue-resource 基于vue-cli脚手架 --->笔记
    解决webstorm卡顿问题
    js 函数闭包内部返回函数体调用方法难点解答
    java学习笔记之位运算符
    java集合类学习笔记之LinkList
    java集合类学习笔记之ArrayList
    java学习笔记之对象序列化
    springboot集成巨杉数据库
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12029266.html
Copyright © 2020-2023  润新知