C#WinForms - 检测用户单击进入文本框

时间:2016-10-13 14:08:15

标签: c# .net winforms

下午好,

我一直在开发一个Windows窗体应用程序并遇到了问题。

在尝试了各种各样的事情后(下面列出),我来寻求你的知识,帮助我指出正确的方向。

我复制了一个更简单的程序版本:

My winform

如您所见,我有两个文本框。我希望能够点击底部的文本框(textbox1)并调用某种形式的事件,在这种情况下,为简单起见,弹出一个消息框。

我参加过此处列出的活动: https://msdn.microsoft.com/en-us/library/system.windows.forms.textbox_events(v=vs.110).aspx 并将它们实现到我的代码中,因为我期望其中一个可以工作。但事实并非如此。

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        MessageBox.Show("TextBox Entered");
    }
    //Above - Will pop message box when text entered.
    private void textBox1_GotFocus(object sender, EventArgs e)
    {
        MessageBox.Show("TextBox Entered");
    }

    private void textBox1_Enter(object sender, EventArgs e)
    {
        MessageBox.Show("TextBox Entered");
    }

    private void textBox1_Click(object sender, EventArgs e)
    {
        MessageBox.Show("TextBox Entered");
    }

有人知道我错过了什么吗?我认为我想要实现的目标实际上是可能的吗?

亲切的问候, 乙

1 个答案:

答案 0 :(得分:0)

确保事件订阅了您编写的方法。您可以使用属性窗口的“事件”选项卡在设计视图中执行此操作(看起来像闪电)。正如其他人所提到的,在事件窗口中双击将为您生成事件的方法,并自动订阅它。

另一种方法是直接使用代码订阅;你可以在表单构造函数中写这个,例如:

textBox1.TextChanged += textBox1_TextChanged;