选择或突出显示时可以自动复制文本我的意思是只选择然后复制到c#中的剪贴板?非常感谢你 喜欢这个问题C# , detect selected text on windows? 但我不能使用上述问题答案的代码
答案 0 :(得分:3)
好吧,如果它是Windows窗体应用程序,请使用GotFocus
事件并发出以下命令:
Clipboard.SetData(((TextBox)sender).Text);
如果它是Web窗体应用程序,那么您将需要使用JavaScript。您需要使用文本框的focus
事件:
<input type="text" focus="copyToClipboard(this);" />
然后你会想要这个JavaScript:
function copyToClipboard(obj) {
var text_val=eval(obj);
text_val.focus();
text_val.select();
if (!document.all) return; // IE only
r = text_val.createTextRange();
r.execCommand('copy');
}
JavaScript的问题在于它实际上并不适用于每个浏览器。请注意,JavaScript方法的问题在于,您需要为所有浏览器和提供代码,以确保用户未关闭JavaScript。它逐渐变得更加复杂。
有关JavaScript中剪贴板工作的更多信息,请参阅此帖子,How do I copy to the clipboard in JavaScript?。
答案 1 :(得分:0)
这就是为什么上帝发明了Clipboard.SetText
方法http://msdn.microsoft.com/en-us/library/kz40084e.aspx它适用于Windows和Linux(Mono),我不知道Mac OS X
答案 2 :(得分:0)
您可能希望处理Validate事件并将SelectedText属性传递给剪贴板。像这样的东西:
Clipboard.SetData("{0}",((TextBox)sender).SelectedText);