5
private void NameVal_TextChanged(object sender, EventArgs e)
    {
        String text = NameVal.Text;

    }

名前の最初の文字を入力するとすぐに、このプログラムが実行されます。フィールドの文字列全体 (名前の例: James など) の入力が完了するまで、プログラムを待機させるにはどうすればよいですか。

4

2 に答える 2

8

ユーザーがいつ入力を終了したかを判断したい場合は、代わりに leave イベントをキャッチできます。これは、テキスト ボックスでフォーカスが失われたときに発生します。つまり、ユーザーがテキスト ボックスの外側をクリックした場合です。

private void NameVal_Leave(object sender, EventArgs e)
{
    //Do your stuff
    String text = NameVal.Text;
}
于 2013-05-17T23:35:56.763 に答える
0

VS2019 を使用している場合、TextChanged イベントと Focus Leave イベントの間に相関関係があります。TextChanged イベントが必要です。その後、イベントを検索して [Focus] を選択すると、選択するフォーカス イベントと同じオブジェクトの TextChanged イベントを含むドロップダウン ボックスが表示されます。これにより、Form1 定義領域に Leave イベントが追加されますが、通常 TextBox をダブルクリックするときのように、Form1 のコード領域にコードは生成されません。自分で作成しなければならないこと。この記事は、その部分を行うのに役立ちました。その日の後半。私は間違っていました。TextChanged イベントを選択する必要はありません。当時、ドロップダウンリストで利用できるのはこれだけでした。TextChanged イベントを削除し、manuallu が Focus_Leave イベントを追加したため、form1 定義領域に両方のイベントを再度追加する必要がありました。その後、TextChanged イベントを追加するために戻ってきました。ここで実験しています。しかし、両方を削除して form1.design ファイルにイベントを再入力すると、正しいものを選択できる可能性がありました。別のバグがありましたが、今では再び同期しています。この領域の変更を困難にしているのは、MS VS の舞台裏で生成されるすべてのコードです。もちろん、彼らはそれを変更しないように言いますが、もしあなたがこのような間違いを犯した場合、あなたは最初からやり直すのではなく、すぐに飛び込んで進み続け、彼らが何をしているのかを学びます. しかし、両方を削除して form1.design ファイルにイベントを再入力すると、正しいものを選択できる可能性がありました。別のバグがありましたが、今では再び同期しています。この領域の変更を困難にしているのは、MS VS の舞台裏で生成されるすべてのコードです。もちろん、彼らはそれを変更しないように言いますが、もしあなたがこのような間違いを犯した場合、あなたは最初からやり直すのではなく、すぐに飛び込んで進み続け、彼らが何をしているのかを学びます. しかし、両方を削除して form1.design ファイルにイベントを再入力すると、正しいものを選択できる可能性がありました。別のバグがありましたが、今では再び同期しています。この領域の変更を困難にしているのは、MS VS の舞台裏で生成されるすべてのコードです。もちろん、彼らはそれを変更しないように言いますが、もしあなたがこのような間違いを犯した場合、あなたは最初からやり直すのではなく、すぐに飛び込んで進み続け、彼らが何をしているのかを学びます.

于 2019-09-08T23:29:45.930 に答える