C#剪切板

时间:2021-05-14 23:01:25

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 复制出来的图像文件实际上复制的不是图像文件本身而是图像文件的全路径。

private void btnContainsImage_Click(object sender, EventArgs e)
{
//将图片放置到剪切板中
Image img = Image.FromFile("file.png");
Clipboard.SetImage(img);
//判断剪切板中是否包含图片
bool flag = Clipboard.ContainsImage();
Console.WriteLine(flag);
}

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

private void btnContains_Click(object sender, EventArgs e)
{
//判断剪切板中是否包含文本数据
bool flag = Clipboard.ContainsText();
Console.WriteLine(flag);
}

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

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

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

private void btnSetData_Click(object sender, EventArgs e)
{
string data = "天王盖地虎!";
Clipboard.SetDataObject(data); string text = Clipboard.GetText();
Console.WriteLine(text);
}