0

というイベントを作成しましたtextBox1_Leave。しかし、プログラムを実行してtxtBox1、イベントからフォーカスを移動すると、トリガーされません。

このイベントをトリガーしたいのでName、ユーザーが入力した値がtxtBox1データベースに存在するかどうかを確認できます。button1もしそうなら、私は設定して有効にしbutton1.Enable = trueたいと思いfalseます。

私のC#コード:

private void textBox1_Leave(object sender, EventArgs e)
{
    OleDbConnection A=new OleDbConnection();
    A.ConnectionString=Program.DBPATH;
    A.Open();

    OleDbCommand BB=new OleDbCommand();
    BB.Connection=A;
    BB.CommandText="SELECT username FROM Users WHERE (username = '" + textBox1.Text + "')";
    OleDbDataReader CC = BB.ExecuteReader();

    if (CC.Read())
    {
        button1.Enabled=true;
    }
    else
    {
        button1.Enabled=false;
    }
}
4

2 に答える 2

2
first check the event is wired up in constructor of the page

textBox1.Leave += textBox1_Leave;


and then

1) Debug the program and check whether break point is hitting.
于 2012-09-16T17:15:29.933 に答える
0

あなたはWindowsアプリケーションを開発していると思います。次の手順を実行することをお勧めします。

1) プログラムをデバッグし、ブレークポイントがヒットしているかどうかを確認します。

2) フォームには textbox 以外のコントロールが必要です。その後、Leave イベントのみが発生します。フォームにテキスト ボックスしかない場合、テキスト ボックスの Leave イベントは発生しません。

3) try catch ブロックを使用しないと、実行時エラーが発生した場合にアプリケーションがクラッシュします。

于 2012-09-16T17:08:29.350 に答える