首页 > 其他分享 >【转】[WPF] 复制文本到剪贴板

【转】[WPF] 复制文本到剪贴板

时间:2024-04-28 09:33:55浏览次数:18  
标签:剪贴板 Windows System Clipboard 线程 复制 剪切板 WPF 文本

来自:阿里的 通义灵码

以下是几种常见的复制数据类型到剪切板的方法:

复制文本到剪切板

using System.Windows.Forms; // 对于Windows Forms应用
// 或者
using System.Windows; // 对于WPF应用

public void CopyTextToClipboard(string text)
{
    // 确保在UI线程中操作剪切板
    if (!Clipboard.IsCurrentThreadTheUIThread)
    {
        throw new InvalidOperationException("必须在UI线程中操作剪切板");
    }

    // Windows Forms应用
    Clipboard.SetText(text);

    // 或者对于WPF应用
    // Clipboard.SetText(text);
}

复制文件路径到剪切板(用于文件操作)

复制文件或文件夹路径,通常作为文本处理,但注意这不等同于直接复制文件内容或文件本身。

public void CopyFilePathToClipboard(string filePath)
{
    Clipboard.SetText(filePath);
}

复制图像到剪切板

对于复制图像或其他二进制数据,可以使用SetImage方法(针对图像)或SetData方法(针对其他类型的数据)。

using System.Drawing; // 需要引用System.Drawing以使用Image对象
// 或者对于其他类型的数据使用适当的序列化方式

public void CopyImageToClipboard(Image image)
{
    Clipboard.SetImage(image);
}

注意事项

  • 在进行剪切板操作时,确保应用程序具有相应的权限。
  • 使用Clipboard类时,最好检查当前线程是否为UI线程,因为非UI线程访问剪切板可能会引发异常。
  • 调用Clipboard.SetDataObject时,可以通过设置参数来控制数据的存活时间和其他高级选项。
  • 在WPF应用中,虽然可以直接使用System.Windows.Clipboard,但在某些情况下可能需要考虑线程调度,尤其是当涉及到UI元素的直接交互时。

以上就是C#中复制不同类型数据到剪切板的基本方法。

标签:剪贴板,Windows,System,Clipboard,线程,复制,剪切板,WPF,文本
From: https://www.cnblogs.com/z5337/p/18163020

相关文章

  • Excel文本转公式
    FunctionEval(RefAsString)Application.VolatileEval=Evaluate(Ref)EndFunctionSUBSTITUTE函数在Excel中用于将文本字符串中的一部分替换为其他字符串。它的语法如下:SUBSTITUTE(text,old_text,new_text,[instance_num])其中:text是要进行替换操作的原......
  • WPF & Prism
    WPF编程-Prism世有伯乐,然后有千里马。千里马常有,而伯乐不常有。一、背景Winform和WPF1.WinForms和WPF技术架构:WinForms是基于传统的窗体和控件的技术,使用的是类似于VB6时代的设计理念。WPF是基于XAML(可扩展应用程序标记语言)的技术,允许更灵活、高度可定制化......
  • WPF所有原生空间使用demo
    //前台窗体<Windowx:Class="WpfTestDemo.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.......
  • SignalR服务端嵌入到WPF
    用的是.netframework4.7.2的WPF。<Windowx:Class="EBServerTry.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:......
  • 辅助式文本生成 - 文本生成新范式
    辅助式文本生成-文本生成新范式 辅助式文本生成-文本生成新范式引言现有方法vanilla自投机解码SpecInferLADE总结参考文献引言LLM要跨越从早期采用者到大众市场的鸿沟,其必要条件是价格大众化,也就是降低每词元的价格。这种降低最好是“免费”......
  • dotnet 简单方法在一个进程内同时跑起 WPF 和 ASP.NET Core 框架
    从设计架构上,无论是WPF还是ASP.NETCore框架,都是在dotnet运行时上层的应用,两个框架处于平级的结构。理论上讲,两个平级的框架只要不存在特殊的情况,都是能够相容存在的。本文将和大家介绍一个非常简单的方法,在一个进程内同时跑起WPF和ASP.NETCore框架在一个进程内同时跑......
  • 记 Intel 的 31.0.101.5186 版本驱动带崩 WPF 程序
    本文记录一个Intel显卡驱动问题,暂时只在IntelUHDGraphics770显卡带31.0.101.5186版本的显卡驱动时,才概率复现问题显卡驱动31.0.101.5186版本是在2024.01.24之前发布的,在出现问题的设备上的表现是,运行任何的WPF应用程序,都会闪崩,最多窗口创建出来,但是没有任何窗口内......
  • WPF 基础绘图 创建和加工图片
    本文将从控制台开始,告诉大家一个非常简单的WPF基础绘图方法,通过本文的方法可以调用WPF上层人类友好的方法,充分利用GPU资源,创建或加工图片,最终结果可以输出到本地文件,可支持编码出多种不同的图片格式本文仅用到WPF的多媒体渲染层,在WPF的这一层上的API是人类友好的,直接......
  • 【vue3入门】-【2】文本插值
    文本插值最基本的数据绑定形式是文本插值,它使用的是”Mustache“语法(即双大括号)<script>exportdefault{data(){return{msg:"神奇的语法"}}}//以上为文本插值的固定使用格式</script><template><h3>模版语法</h3><p>{{msg}}</p></templ......
  • vim查看linux文件目录,05Linux.浏览目录和文件,VIM文本编辑器
    vim查看linux文件目录,05Linux.浏览目录和文件,VIM文本编辑器一、浏览目录和文件查看目录、查看文件属性1)查看根目录/下有哪些文档或子目录,观察颜色有什么规律ls/2)以长格式显示结果,对比/bin、/usr/bin/目录详细属性ls-ld/bin/usr/bin/【-d只显示目录本身】3)......