클립 보드로 왕복 html 형식을 사용할 수 없습니다
문제
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(); } }
해결책
브라우저에서 데이터를 클립 보드에 복사하면 텍스트와 HTML을 포함하여 동일한 데이터를 여러 형식으로 클립 보드에 넣습니다. 따라서 데이터를 텍스트 또는 HTML 형식으로 다시 읽을 수 있습니다. 그러나 여기에서 setText를 호출 할 때 HTML 형식으로 만 통과하므로 일반 getText를 사용하면 클립 보드에 텍스트 버전이없고 다시 널 뒤로 얻습니다.
IdataObject를 사용하여 한 번에 클립 보드에 여러 형식을 한 번에 클립 보드에 넣을 수 있지만 클립 보드에 데이터를 넣기 전에 형식간에 번역을 수행해야합니다. IdataObject를 사용하는 방법의 예가 있습니다 여기.
다른 팁
나는 그것이 작동하지 않는다는 것을 재현 할 수 있습니다 ... var text2 = Clipboard.GetText();
보고 ""
매번 ...
(편집) 빠른 검색 수율 이것, 주제에 보이는 것 같습니다.
제휴하지 않습니다 StackOverflow