我对Windows窗体有点新,所以如果有一个简单的解决方案,我道歉,但我在谷歌上找不到任何东西。如果我将一个项目(例如文本框)拖到表单上,然后双击它,将为我创建textbox_TextChanged函数。这按预期工作。但是,如果我尝试添加一个新功能,如textbox_Click,它将永远不会被调用。在另一个项目中,我试图添加一个textbox_Validating函数,但它也没有被调用(我确保在属性中验证了。)
有谁知道为什么只调用TextChanged函数?
以下是有效的方法:
private void textBox2_TextChanged(object sender, EventArgs e)
{
textBox2.BackColor = activeColor;
}
以下是不起作用的内容:
private void textBox2_Click(object sender, EventArgs e)
{
textBox2.BackColor = activeColor;
}
我在textBox2_Click方法中设置了一个断点,它永远不会被调用。我环顾网络并尝试了其他方法,例如_LeftMouseClick和_LeftMouseButtonDown,但是他们没有使用以太。
这也不起作用:
protected void tbNewPassword_Validating(object sender, CancelEventArgs e)
{
if (tbNewPassword.Text.Length < 6)
epErrorProvider.SetError(tbNewPassword, "Your password must be 6 characters or longer.");
}
与_Click方法一样,我设置了一个断点,它永远不会被调用。
答案 0 :(得分:4)
选择文本框,打开属性窗口,在顶部,有一个看起来像闪电的小图标(顶部有一些其他图标,1看起来像&#39; A到Z&#39;) ,单击它,它将显示所有事件。向下滚动,验证结束。输入验证函数名称,点击返回键,它将在代码中显示验证功能。在那里添加你的代码。
这有助于您添加活动。
或者,您需要直接添加事件处理程序,例如
this.btnIsConnected.Click += new System.EventHandler(this.btnIsConnected_Click);
答案 1 :(得分:0)
您已使用有效的内部代码创建了一个事件,但它未被调用。为什么?因为它没有附加到您的控件(在本例中为文本框),所以为了将事件处理程序附加到控件,您可以check this post。为了熟悉事件@ urlreader的帖子很有用。