说明
在C#中操作剪贴板(包括内容的读取和写入)需要使用到System.Windows.Forms.Clipboard 类
复制
复制文本
Clipboard.SetDataObject("李雷");
粘贴
主要用到的方法为:GetDataObject()用来检索剪贴板中的数据,它返回的是任何格式的数据,返回IDataObject接口,用来接收任何数据。
- IDataObject接口实例的 GetDataPresent (Type Format)方法返回bool值,获取指定类型是否可用。
- 另外就是DataFormats类,该类主要是用来标识格式用的。
- 从剪切板上获得数据不影响剪贴板的内容,GetData的返回值是存储在剪贴板上的副本。
粘贴文本的方法
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
//如果剪贴板中的数据是文本格式
this.label1.Text = (string)iData.GetData(DataFormats.Text);//检索与指定格式相关联的数据
}
else
{
MessageBox.Show("目前剪贴板中数据不可转换为文本", "错误");
}
粘贴图片
if (Clipboard.ContainsImage())
{
Image img = Clipboard.GetImage();
pictureBox1.Image = img;
}
或者
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Bitmap))
{
this.pictureBox1.Image = (Bitmap)iData.GetData(DataFormats.Bitmap);
}
else
{
MessageBox.Show("目前剪贴板中数据不可转换为图片", "错误");
}