Windows窗体文本框功能未被调用

时间:2012-10-11 05:22:00

标签: c# winforms

我对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方法一样,我设置了一个断点,它永远不会被调用。

2 个答案:

答案 0 :(得分:4)

选择文本框,打开属性窗口,在顶部,有一个看起来像闪电的小图标(顶部有一些其他图标,1看起来像&#39; A到Z&#39;) ,单击它,它将显示所有事件。向下滚动,验证结束。输入验证函数名称,点击返回键,它将在代码中显示验证功能。在那里添加你的代码。

这有助于您添加活动。

或者,您需要直接添加事件处理程序,例如

   this.btnIsConnected.Click += new System.EventHandler(this.btnIsConnected_Click);

答案 1 :(得分:0)

您已使用有效的内部代码创建了一个事件,但它未被调用。为什么?因为它没有附加到您的控件(在本例中为文本框),所以为了将事件处理程序附加到控件,您可以check this post。为了熟悉事件@ urlreader的帖子很有用。