gpt4 book ai didi

c# - 以不同格式复制和粘贴

转载 作者:行者123 更新时间:2023-12-05 01:47:51 25 4
gpt4 key购买 nike

我有一个数据网格,我希望能够将其复制并粘贴到 Excel 中或从中复制粘贴。很常见的场景。我实现了复制和粘贴功能。但是,此应用程序有多个数据网格,我想阻止用户尝试将数据从一个网格复制到另一个网格,因为数据不同。

我可以将这些网格中的对象序列化为我想要的任何格式,因此添加某种表示“此数据仅进入该网格”的元数据是微不足道的。但我无法添加元数据,因为那样它会显示在 excel 中。这个问题是否有一些解决方案允许我在我的应用程序中以一种格式粘贴数据,但 excel 仍能正确处理?

最佳答案

如果您查看 clipboard class您可以设置文本,但您还可以使用它做更多的事情。您希望对剪贴板执行的大多数高级操作都围绕一对例程“SetDataObject”和“GetDataObject”展开。要将其用于多种格式,您可以指定:

var serializableObject = new MyObject();

var clipData = new DataObject();
clipData.SetData(DataFormats.Text, "abcdefg");
clipData.SetData("CustomFormat", serializableObject);
Clipboard.SetDataObject(data);

完成此操作后,您可以通过反转此操作并从自定义格式请求数据来从剪贴板取回数据。简而言之,反向调用如下所示:

var clipData = (DataObject)Clipboard.GetDataObject();
var myObject = clipData.GetData("CustomFormat") as MyObject;

有关 Microsoft 的更完整示例,请参阅此页面:http://msdn.microsoft.com/en-us/library/637ys738(v=vs.110).aspx .看看底部,它解释了多种格式的使用。

希望这对您有所帮助。祝你好运!

关于c# - 以不同格式复制和粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21418312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com