选择或突出显示时可以自动复制文本我的意思是只选择然后复制到c#中的剪贴板?谢谢你非常喜欢这个问题C#,检测 windows 上的选定文本? 但我不能使用上述问题答案的代码
问问题
542 次
3 回答
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 中剪贴板工作的更多信息,如何在 JavaScript 中复制到剪贴板?.
于 2013-09-17T19:12:13.597 回答
0
这就是为什么上帝发明了这种Clipboard.SetText
方法http://msdn.microsoft.com/en-us/library/kz40084e.aspx它适用于 Windows 和 Linux(单声道),我不知道 Mac OS X
于 2013-09-17T19:14:25.510 回答
0
您可能需要处理 Validate 事件并将 SelectedText 属性传递给剪贴板。像这样的东西:
Clipboard.SetData("{0}",((TextBox)sender).SelectedText);
于 2013-09-17T19:16:03.800 回答