事件未触发

时间:2012-09-16 13:44:27

标签: c# .net events event-handling

我创建了一个名为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;
    }
}

2 个答案:

答案 0 :(得分: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.

答案 1 :(得分:0)

我相信你正在开发Windows应用程序。 我建议你按照以下步骤进行操作:

1)调试程序并检查断点是否正在击中。

2)在你的表单上你应该有一些除文本框之外的控件,然后只会触发Leave事件。如果您在表单上只有文本框,则不会触发文本框的“离开”事件。

3)使用try catch block否则如果存在运行时错误,应用程序将崩溃。