【发布时间】:2020-09-09 20:37:38
【问题描述】:
我想在 C# 中从“d”IDataObject 到“c”IDataObject 获取值,但即使我不单击 D 键,我的“c”也拥有剪贴板中的值。如何将一个 IDataObject 的独立值赋予第二个?
第一个函数:
if (Keyboard.IsKeyDown(Key.D))
{
d = Clipboard.GetDataObject();
c = d; // <-- doesn't work
string dd = d.GetData(DataFormats.Text).ToString(); //content
MessageBox.Show(dd);
}
第二个功能
if (Keyboard.IsKeyDown(Key.S))
{
string dd = c.GetData(DataFormats.Text).ToString(); //content
MessageBox.Show(dd);
}
【问题讨论】:
-
剪贴板可能包含您无法按原样复制到对象的元数据。顺便说一句,问题不清楚。你想达到什么目标?从哪里复制数据以及复制到哪里?为什么
Clipboard?什么条件?在一个应用程序或不同的应用程序内?您是否需要剪贴板监听,例如当其他一些应用程序修改它并且您想读取更改时,例如虚拟按下Ctrl+C后?IDataObject是对数据的引用,而不是数据本身。 -
我要单击 CTRL + C。我的
d中有值。当我单击 D 键时,这会显示它使用消息框并复制到c。现在我再次单击 ctrl + c 标记另一个文本。之后,当我单击 S 键时,它应该从第一个 ctrl + c 显示我的旧值,但我有来自实际剪贴板的内容。 -
我希望你知道我在说什么兄弟。
-
我想从一个变量获取内容(文本或图像)到不同的变量,但即使是文本或图像也应该接受它。
标签: c# wpf copy clipboard idataobject