0

テキスト ボックスの KeyPress イベントでメソッドを実行していますが、実際にキーがボックスに入力される前にメソッドが実行されています。

KeyUp を使用すると、探している動作が得られます。ただし、KeyUp は標準文字と同様にソフト キーでトリガーされますが、これは特に役に立ちません。

キーがボックスに入力された後に KeyPress を実行することはできますか? または、KeyUp でソフト キーを無視するように簡単に設定できますか?

4

4 に答える 4

1

KeyPress イベントで keychar を記憶し、記憶された char を使用して KeyUp で必要なすべてのロジックを実行できます。

于 2009-07-02T23:13:57.330 に答える
0

キープレスイベントでは、新しい文字列に連結textbox.Texte.KeyCharて処理し、この新しい文字列を処理できます。

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{    
    string newString = textBox1.Text + e.KeyChar.ToString();
    // Process newString
    // If after processing you do not wish to undo the typed letter do 
    // e.Handled = true;
}
于 2009-07-03T04:04:59.663 に答える
0

TextChangedコントロールからイベントを試すこともできますtextbox

于 2010-03-11T15:38:08.967 に答える
0

as コードで keyUp を使用します。

private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e)
{
    //only do things when an alphabetical character is typed
    if ((e.KeyCode >= Keys.a) && (e.KeyCode <= key.z) ||
        (e.KeyCode >= Keys.A) && (e.KeyCode <= key.Z))
    {
        // do your thing
    }
}

もちろん、 のような他の文字も確認できます。等

于 2010-03-11T15:54:43.063 に答える