我们已将应用程序从.NET 2.0升级到4.5.2并使用VS2013。
我们在剪贴板面临一个问题,在WIN8中一切都运行良好。现在使用4.5.2剪贴板只能在WIN7中正常工作,而不是在WIN8.1中
我们的代码如下。
DataObject dataObject = new DataObject();
IDataObject iObj = Clipboard.GetDataObject() as DataObject;
string[] formats = iObj.GetFormats();
for (int i = 0; i < formats.Length; i++)
{
object obj = iObj.GetData(formats[i]);
if (obj != null)
{
dataObject.SetData(formats[i], obj);
}
}
//add rtf
dataObject.SetData(DataFormats.Rtf, rtfText.rtf_text);
if (rtfText.rtf_text.IndexOf("Symbol") < 0)
{
//add simple text
using (RichTextBox rtb = new RichTextBox())
{
rtb.Rtf = rtfText.rtf_text;
dataObject.SetData(DataFormats.Text, rtb.Text);
}
}
Clipboard.SetDataObject(dataObject, true); //CRASHING HERE
我认为问题在于添加RTF对象。没有这个RTF数据,它的工作正常。
获取错误:来自hresult的无效tymed异常:0x80040069 看到堆栈溢出,但不知道如何继续我的情况 - Clipboard behaves differently in .NET 3.5 and 4, but why?
提前致谢,请帮忙。
此致
Biju Koshy