我想编写Html格式,但我甚至无法获得一个简单的MSDN示例。
http://msdn.microsoft.com/en-us/library/tbfb3z56.aspx
这个控制台应用程序,一个剪贴板往返者,是否适用于任何人?
using System; using System.Windows; //Need to add a PresentationCore or System.Windows.Forms reference class Program { [STAThread] static void Main( string[] args ) { Console.WriteLine( "Copy a small amount of text from a browser, then press enter." ); Console.ReadLine(); var text = Clipboard.GetText(); Console.WriteLine(); Console.WriteLine( "--->The clipboard as Text:" ); Console.WriteLine( text ); Console.WriteLine(); Console.WriteLine( "--->Rewriting clipboard with the same CF_HTML data." ); //***Here is the problem code*** var html = Clipboard.GetText( TextDataFormat.Html ); Clipboard.Clear(); Clipboard.SetText( html, TextDataFormat.Html ); var text2 = Clipboard.GetText(); Console.WriteLine(); Console.WriteLine( "--->The clipboard as Text:" ); Console.WriteLine( text2 ); var isSameText = ( text == text2 ); Console.WriteLine(); Console.WriteLine( isSameText ? "Success" : "Failure" ); Console.WriteLine(); Console.WriteLine( "Press enter to exit." ); Console.ReadLine(); } }
答案 0 :(得分:2)
当您将数据从浏览器复制到剪贴板时,它会以多种格式将相同的数据放入剪贴板,包括文本和HTML。因此,您可以以文本或HTML格式读取数据。但是,当您在此处调用SetText时,您只能传递HTML格式,因此当您使用常规GetText时,剪贴板上没有文本版本,您将返回null。
您可以使用IDataObject将多种格式一次放入剪贴板(即文本和HTML),但在将数据放入剪贴板之前,您必须自己在格式之间进行转换。有一个如何使用IDataObject here的例子。
答案 1 :(得分:0)
我可以重现它不起作用...... var text2 = Clipboard.GetText();
每次都会返回""
...
(编辑) 快速搜索会产生this,这似乎是主题。