選択または強調表示されたときにテキストを自動的にコピーすることが可能です。この質問をどうもありがとうございましたC# 、ウィンドウで選択されたテキストを検出しますか? しかし、上記の質問の回答のコードは使用できません
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 でクリップボードにコピーするにはどうすればよいですか? .
おそらく、Validate イベントを処理し、SelectedText プロパティをクリップボードに渡します。このようなもの:
Clipboard.SetData("{0}",((TextBox)sender).SelectedText);
そのため、神はこのClipboard.SetText
方法を発明しましたhttp://msdn.microsoft.com/en-us/library/kz40084e.aspx Windows と Linux (Mono) の両方で動作します。Mac OS X については知りません