やりたいこと
・Tabキー または Enterキーを入力したときに
・texstBox1に「テキストが入力されているかどうか」を判断して
・入力されていない場合、メッセージウィンドウに「何らかの値を入力してください」を表示させる
という処理を実装したいです。
現状
Enterキーを押したときの処理はうまく動かすことができましたが、Tabキーを押しても反応しません。
コードは以下のように書いてみました。
・KeyDown_Checkは「textBox1」の「KeyDown」に割り当てています。
※「Form1」の「KeyDown」に割り当てると Enterキーも反応しなくなりました。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Kadai_5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); //フォームが最大化されないようにする this.MaximizeBox = false; } public void KeyDown_Check(object sender, KeyEventArgs e) { if ( (e.KeyData == Keys.Tab) || (e.KeyData == Keys.Enter)) { if (textBox1.Text == "") { MessageBox.Show("何らかの値を入力してください"); } else { textBox1.Focus(); } } } } }
試したこと
Tabキーにはもともと、次のラベルやtextBoxにFocusする処理があるようですが
無効にする必要があるのでしょうか。
補足
Windowsアプリケーション
.NET Framework 4.6.1
回答1件
あなたの回答
tips
プレビュー