11

CTRLC#を使用して+Vキー(貼り付け) をシミュレートするにはどうすればよいですか?

アクセス用のIDがないテキストボックスがあります。たとえば、textbox1.Text = someValueここでは機能しません。
そのテキストボックス(クリップボードから)をクリックして入力したいと思います。いくつかの理由で、simulate CTRL+が必要です。つまり、 inputsimulatorVのような外部ライブラリを使用することはできません。

4

4 に答える 4

25

キャラクターvsキー

%=> alt+=>shiftそしてキー^を送信するためにctrl

元の回答:

単一の修飾キーと別のキーのシミュレーションについては、以下で説明します。 ステップ1 2つのキーを実行するtextBoxにフォーカスし、ステップ2:たとえばcontrol-vのようにキーを送信します"^{v}"。これがコードです

target_textBox.Focus();
SendKeys.Send("^{v}");

target_textBox.Focus();キーの送信時にターゲットテキストボックスがフォーカスされていない場合にのみ必要です

更新:達成したい3つのキー(2つの変更キーと他のキー)を送信するctrl shift F1には、次のように送信します

^+{F1}

Microsoft Docs Ref

于 2013-03-25T17:50:13.563 に答える
3

イベントが呼び出されたときよりもTextBoxOnClickイベントをオーバーライドして、TextプロパティをClipboard.GetText()に設定してみませんか。

好き:

private void textBox1_Click ( object sender, EventArgs e )
{
        textBox1.Text = Clipboard.GetText ();
}
于 2013-03-25T17:56:59.110 に答える
1

この関数はすでに組み込まれています:TextBoxBase.Paste()

textbox1.Paste();
于 2016-04-14T13:13:11.603 に答える
0

一部のJSは、通常の方法で値を変更することを許可していません

inputList[21].SetAttribute("value", txtEMail.Text);

次のようなことを試してください。

inputElement.InvokeMember("focus");
inputElement.InvokeMember("click"); //sometimes helpfull
Clipboard.SetDataObject(txtEMail.Text);
SendKeys.Send("^(v)");

//「^{v}」ではありません

于 2019-01-24T05:29:34.547 に答える