首页 > 代码库 > 图像拷贝和粘贴-使用剪贴板

图像拷贝和粘贴-使用剪贴板

在C#中通过Clipboard类实现,其常用方法有:

1>SetDataObject(object[,bool])--用于将图像或文本信息发送到剪贴板

2>GetDataObject()--用于从剪贴板获取数据,它返回一个IDataObject对象,使用该对象从剪贴板获取数据。首先使用IDataObject的GetDataPresent方法检测剪贴板存放的是什么类型的数据,然后使用IDataObject的GetData方法获取剪贴板上相应数据类型的数据。

eg:从剪贴板获得字符串并在TextBox控件显示出来:

IDataObject iData=http://www.mamicode.com/Clipboard.GetDataObject();
if(iData.GetDatPresent(Format.Text))
{
    textBox1.SelectedText=iData.GetData(DataFormats.Text).ToString();
}

OK,下面我们写程序实现Clipboard对象进行拷贝和粘贴

新建项目:选择windows窗体应用程序

添加控件:两个图片框pictureBox1和pictureBox2,两个按钮button1和button2

双击button1,添加复制事件处理程序

 private void button1_Click(object sender, EventArgs e)
        {
            //使用Clipboard对象将pictureBox1的图像拷贝到剪贴板
            Clipboard.SetDataObject(pictureBox1.Image);
        }

双击button2,添加粘贴事件处理程序

  private void button2_Click(object sender, EventArgs e)
        {
            //将剪贴板内容粘贴到pictureBox2
            IDataObject iData =http://www.mamicode.com/ Clipboard.GetDataObject();
            if (iData.GetDataPresent(DataFormats.Bitmap))
            {
                pictureBox2.Image = (Bitmap)iData.GetData(DataFormats.Bitmap);
            }
        }

下面就是我们的运行结果了,

初始界面:图片是pictureBox1属性的image属性导入的

技术分享

点击复制按钮然后点击粘贴按钮,

技术分享

图像拷贝和粘贴-使用剪贴板