0

Windowsフォームの次および前のコントロールに次のコードを使用しています

if (e.KeyCode == Keys.Enter)//Next
{
    this.SelectNextControl(this.ActiveControl, true, true, true, true);
}
if (e.KeyCode == Keys.Back)//Previous
{
    this.SelectNextControl(this.ActiveControl, false, true, true, true);
}

問題は

if (e.KeyCode == Keys.Back)

現在のコントロールが aTextBoxで、ユーザーがバックスペースを使用して 1 つの単語を入力して削除しようとすると、これが機能し、次のコントロールにフォーカスが設定されます。

テキストボックスにいくつかの値があるときにこのイベントを防ぐ方法は? そして、それはComboBox他のコントロールに対しても機能するはずです

4

3 に答える 3

0

ほとんどの人は、win フォームに戻るためにリバース タブを使用します。それでも戻るボタンでやりたい場合。

このタラはあなたを助けます。そして、あなたの lest char を失うことはありません。

if(e.KeyCode==Keys.Back)
            {
                if(textBox1.Text.Trim().Length==0){
                this.SelectNextControl(this.ActiveControl, false, true, true, true);
                }
            }

お役に立てて光栄です。よろしくお願いします

于 2013-07-25T06:26:49.300 に答える