-7

選択または強調表示されたときにテキストを自動的にコピーすることが可能です。この質問をどうもありがとうございましたC# 、ウィンドウで選択されたテキストを検出しますか? しかし、上記の質問の回答のコードは使用できません

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

おそらく、Validate イベントを処理し、SelectedText プロパティをクリップボードに渡します。このようなもの:

Clipboard.SetData("{0}",((TextBox)sender).SelectedText);

于 2013-09-17T19:16:03.800 に答える
0

そのため、神はこのClipboard.SetText方法を発明しましたhttp://msdn.microsoft.com/en-us/library/kz40084e.aspx Windows と Linux (Mono) の両方で動作します。Mac OS X については知りません

于 2013-09-17T19:14:25.510 に答える