-7

选择或突出显示时可以自动复制文本我的意思是只选择然后复制到c#中的剪贴板?谢谢你非常喜欢这个问题C#,检测 windows 上的选定文本? 但我不能使用上述问题答案的代码

4

3 回答 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 回答