zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    css3 rotate(1turn)的用法
    canvas svg webgl threejs d3js 的区别
    利用css3给座右铭设置漂亮的渐变色
    svg相关的知识
    Mark标记功能的实现(像手工标记的一样)
    终于搞清楚了正向代理与反向代理的区别
    获取免费ip_存入excel_用了线程池_封装清晰
    爬去京东——智能音箱
    滑动验证码
    天气爬取的笔记
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/12029266.html
Copyright © 2011-2022 走看看