C# 复制粘贴Clipboard类(剪贴板) 作者:马育民 • 2025-03-09 10:11 • 阅读:10008 # 说明 在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("目前剪贴板中数据不可转换为图片", "错误"); } ``` 参考: https://www.cnblogs.com/springsnow/p/13282029.html 原文出处:https://malaoshi.top/show_1GWj7ejaTt8.html