首页 .Net .NET(C#) 操作windows剪粘板(粘贴板)读取设置文本和文件数据

.NET(C#) 操作windows剪粘板(粘贴板)读取设置文本和文件数据

参考文档https://docs.microsoft.com/en-us/dotnet/framework/winforms/advanced/how-to-retrieve-data-from-the-cl...

Clipboard类命名空间是System.Windows.Forms,在winform程序中可以直接使用

1、设置写入剪贴板(粘贴板)代码

StringCollection paths = new StringCollection();
paths.Add("f:\\temp\\1.txt");
paths.Add("f:\\temp\\1.txt");
//文件名(path)集合添加到剪贴板中
Clipboard.SetFileDropList(paths);
//将图片文件添加到剪贴板中
Clipboard.SetImage(Image.FromFile(@"E:\1.jpg"));
//将html格式文本添加到剪贴板中
Clipboard.SetText(File.ReadAllText(@"E:\1.html"));
//将自定义格式数据添加到剪贴板中
Clipboard.SetData("CustomerFormat", new Customer("Customer Name"));

2、读取剪贴板(粘贴板)代码

 string fileName = string.Empty;
//剪粘板中有图片文件
if (Clipboard.ContainsImage())
{
    fileName = @"F:\1.png";
    Clipboard.GetImage().Save(fileName, ImageFormat.Png);
}
//剪粘板中有指定格式的数据
if (Clipboard.ContainsData(DataFormats.Html))
{
    textBox1.Text = (String)Clipboard.GetData(DataFormats.Html);
}
//剪粘板中有自定义格式数据
if (Clipboard.ContainsData("CustomerFormat"))
{
    Customer obj = Clipboard.GetData("CustomerFormat") as Customer;
}
//剪粘板中有多个文件名
if (Clipboard.ContainsFileDropList())
{
    System.Collections.Specialized.StringCollection returnList = null;
    returnList = Clipboard.GetFileDropList();
    foreach (var item in returnList)
    {
        //每个文件的路径
        MessageBox.Show(item);
    }              
}
特别声明:本站部分内容收集于互联网是出于更直观传递信息的目的。该内容版权归原作者所有,并不代表本站赞同其观点和对其真实性负责。如该内容涉及任何第三方合法权利,请及时与824310991@qq.com联系,我们会及时反馈并处理完毕。