我创建了一个名为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;
}
}
答案 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否则如果存在运行时错误,应用程序将崩溃。