C# 在c中选择文本时自动复制文本

C# 在c中选择文本时自动复制文本,c#,C#,它可以自动复制文本时,选择或突出显示我的意思是只选择然后复制到剪贴板在c?非常感谢你 喜欢这个问题吗 但我无法使用上述问题答案的代码。如果是Windows窗体应用程序,请使用GotFocus事件并发出以下命令: Clipboard.SetData(((TextBox)sender).Text); 如果是Web表单应用程序,那么您需要使用JavaScript。您需要使用文本框的焦点事件: <input type="text" focus="copyToClipboard(this);" /

它可以自动复制文本时,选择或突出显示我的意思是只选择然后复制到剪贴板在c?非常感谢你 喜欢这个问题吗
但我无法使用上述问题答案的代码。如果是Windows窗体应用程序,请使用GotFocus事件并发出以下命令:

Clipboard.SetData(((TextBox)sender).Text);
如果是Web表单应用程序,那么您需要使用JavaScript。您需要使用文本框的焦点事件:

<input type="text" focus="copyToClipboard(this);" />
JavaScript的问题在于它并不是在每个浏览器中都能工作。请看,JavaScript方法的问题在于您需要所有浏览器的代码,并且您需要确保用户没有关闭JavaScript。它逐渐变得更加复杂


参考这篇文章,了解更多关于剪贴板在JavaScript中工作的信息。

这就是上帝发明clipboard.SetText方法的原因。它可以在Windows和Linux Mono上工作,我不知道Mac OS X的情况。

您可能需要处理验证事件,并将SelectedText属性传递给剪贴板。大概是这样的:


Clipboard.SetData{0},TextBoxsender.SelectedText

是的,这是可能的。什么站台?地铁?WinForms?WPF?银灯?Windows Phone?ASP.Net?Windows窗体在c@SLaks中我只需要在我选择时检索文本,或者在什么中选择时突出显示它?所以你实际上是在问Javascript。我很确定GetText不会在剪贴板上设置数据。你说得对,但我需要在选择文本时获取文本副本仅选择不使用右键单击然后复制或ctr+c:Modifiedp这个javascript只在IE小于10的情况下工作,最好从你的答案中删除这个部分。例如,我再也不认识只为IE8编写web应用程序的人了。@EkoostikMartin,实际上我有超过14K的客户仍然在使用IE8/9。我想说,我在代码片段之后使用的段落是JavaScript实现中最重要的部分。很多人都使用Flash对象,但存在一个问题,因为不是每个人都有Flash。简言之,浏览器、操作系统和用户设置的碎片化使得使用JS实现几乎不可能接触到所有人。强迫用户使用浏览器/操作系统对于任何web应用都是一个错误,即使是内联网/内部应用,尤其是IE。我应该在最初的评论中这样说,但我也不认为复制/粘贴与任何基于web的应用程序相关。剪贴板是一个操作系统子系统,与它的交互应该完全受任何自尊的浏览器的限制。在浏览器内部复制/粘贴是有意义的,可能是HTML6?当然,这只是我的意见。不要在不相关的对象上测试特性。@SLaks,我不确定我是否理解你的意思。
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');
}