查看: 2225|回复: 0

[.NET开发] C#实现剪切板功能

发表于 2018-2-18 20:04:24

C#剪切板

Clipboard类

我们现在先来看一下官方文档的介绍

位于:System.Windows.Forms 命名空间下

Provides methods to place data on and retrieve data from the system Clipboard. This class cannot be inherited.

提供一些方法来存放数据和取回数据从系统的剪切板,这个类不能被实例化。

从官方的描述我们可以看出Clipboard是一个用来存放一些临时数据来用的...这句话是个废话,因为我们经常 复制站粘贴了。

Method

ContainsImage() 判断剪切板中是否包含图片数据

Note:

我们从系统中通过 Control+C 复制出来的图像文件实际上复制的不是图像文件本身而是图像文件的全路径。

  1. private void btnContainsImage_Click(object sender, EventArgs e)
  2. {
  3. //将图片放置到剪切板中
  4. Image img = Image.FromFile("file.png");
  5. Clipboard.SetImage(img);
  6. //判断剪切板中是否包含图片
  7. bool flag = Clipboard.ContainsImage();
  8. Console.WriteLine(flag);
  9. }
复制代码

ContainsText() 判断剪切板中是否包含文本数据

  1. private void btnContains_Click(object sender, EventArgs e)
  2. {
  3. //判断剪切板中是否包含文本数据
  4. bool flag = Clipboard.ContainsText();
  5. Console.WriteLine(flag);
  6. }
复制代码

GetFileDropList() 获取剪切板中文件名的集合

  1. private void btnGetPath_Click(object sender, EventArgs e)
  2. {
  3. //因为剪切板是可以复制多个文件的所有要遍历获取
  4. StringCollection sc = Clipboard.GetFileDropList();
  5. foreach (var item in sc)
  6. {
  7. Console.WriteLine(item.ToString());
  8. }
  9. }
  10. /*输出结果:
  11. C:\Users\IT\Desktop\drive.png
  12. C:\Users\IT\Desktop\folder.png
  13. C:\Users\IT\Desktop\file.png
  14. */
复制代码

SetDataObject() 向剪切板中放置数据

  1. private void btnSetData_Click(object sender, EventArgs e)
  2. {
  3. string data = "天王盖地虎!";
  4. Clipboard.SetDataObject(data);
  5. string text = Clipboard.GetText();
  6. Console.WriteLine(text);
  7. }
复制代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持程序员之家。

您可能感兴趣的文章:

  • c#剪切板操作的简单实例
  • C#线程间不能调用剪切板的解决方法
  • C#操作Clipboard读取剪切板中数据实例详解
  • C#编程实现查看剪切板内容的方法


回复

使用道具 举报