電子書籍の厳選無料作品が豊富!

プログラミングc#
Windowsフォームアプリケーションです。VS2019

テキストボックスと、データグリッドビューをバインドさせた入力フォームを作っています。

アプリのテキストボックス内でエンターキーを押すと同時に、文字結合の入力フォーカスを移動?させています。

入力しやすいようにアプリの画面に、大きなテンキーとEnterボタンを作りました。
この、画面上のエンターキーを動かせません。

キーボードのエンターキーを押した時と同じ挙動をさせたいのですが、可能でしょうか?
よろしくお願いいたします。

質問者からの補足コメント

  • コントロールのボタンを押すと、キーボードのenter keyを押したと同じになるコードはありますか?

    SendKeys.Send("{ENTER}”);

    をボタンクリックイベントに入れてみたのですがnullとでて何も起こりませんでした。

      補足日時:2020/07/07 16:46
  • 画面の写真です。
    よろしくお願い致しますm(_ _)m

    「プログラミングc# Windowsフォー」の補足画像2
      補足日時:2020/07/07 17:00
  • コントロールのボタンを押すと、テキストボックスにエンターキーを送るようなやり方はりますか?

      補足日時:2020/07/07 17:03
  • お答え頂き、ありがとうございます。
    エンターキーは特殊ということで、難しいかもしれませんが、何か他にやり方があったら嬉しいです。
    よろしくお願い致します。

      補足日時:2020/07/07 17:07
  • Yes

    次のフォーカスに移動させるなどの方法に落ち着きました。
    お答え頂き助かりましたありがとうございましたm(_ _)m

      補足日時:2020/07/07 17:31

A 回答 (4件)

フォームの


keyprview =true

にすれば enter 送れます (vs2017で確認しました)
vbですがやり方は同じ
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
TextBox1.Focus()   // フォームを送るコントロールにフォーカス
//これがないとENTERは握りつぶされます

SendKeys.Send("{ENTER}”)
End Sub
    • good
    • 1
この回答へのお礼

ありがとうございました!(*^-^*)
遅くなってしまい、申し訳ありません。
コードの量が少なく済み助かりました!
お助けいただきありがとうございましたm(_ _)m

お礼日時:2020/07/11 10:23

ENTERキーの場合は、フォームでキーを取れるようにしないと


握りつぶされます。

SendKeys.Send("{ENTER}”);
では、現在フォーカスのあるコントロールにENTERがおくられますので
enterボタンをおした状態では、ボタンに送られます
VS2017で確認しようかと思ったんですが、更新かかってしまったので今は詳しくは書けません
    • good
    • 1

Windows 10の場合はスクリーンキーボードでキーを表示させて入力した方がいいかもです。

    • good
    • 1

エンターキはちょっと特殊な処理が必要かな


画面を貼っていただくと助かるかも
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!