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 事件。如果表单上只有文本框,则不会触发文本框的离开事件。

3) 使用 try catch 块,否则如果出现运行时错误,您的应用程序将崩溃。

于 2012-09-16T17:08:29.350 回答