1

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

4

2 回答 2

4

选择文本框,打开属性窗口,在顶部,有一个看起来像闪电的小图标(顶部还有一些其他图标,1看起来像'A to Z'),点击它,它会显示所有事件。向下滚动,验证在最后。输入验证函数名称,按回车键,代码中会显示验证函数。在那里添加你的代码。

这有助于您添加事件。

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

   this.btnIsConnected.Click += new System.EventHandler(this.btnIsConnected_Click);
于 2012-10-11T05:32:39.390 回答
0

您已使用有效的内部代码创建了一个事件,但它没有被调用。为什么?因为它没有附加到您的控件(在这种情况下为文本框),所以要将事件处理程序附加到控件,您可以查看这篇文章。对于熟悉所有@urlreader 帖子中的事件很有用。

于 2012-10-11T05:40:48.063 回答