C# 向WinForms添加事件?

C# 向WinForms添加事件?,c#,winforms,events,C#,Winforms,Events,我在WinForm上有一个TextBox,每次有人按下该文本框内的键时,我都要执行一些代码。我正在查看“事件属性”菜单,看到了向下键事件,但不知道如何向其中添加代码 您需要向事件添加处理程序 双击文本框属性窗口中的KeyPress事件,使Visual Studio在代码文件中生成事件处理程序。 然后,您可以将您想要的任何代码放入事件处理程序函数中。您可以通过写入e.KeyCode来检查按下了哪个键。双击它旁边的文本字段。我假设您在Visual Studio中。一种方法是双击KeyDown事件右侧

我在WinForm上有一个
TextBox
,每次有人按下该文本框内的键时,我都要执行一些代码。我正在查看“事件属性”菜单,看到了
向下键
事件,但不知道如何向其中添加代码

您需要向事件添加处理程序

双击文本框属性窗口中的
KeyPress
事件,使Visual Studio在代码文件中生成事件处理程序。

然后,您可以将您想要的任何代码放入事件处理程序函数中。您可以通过写入
e.KeyCode

来检查按下了哪个键。双击它旁边的文本字段。

我假设您在Visual Studio中。一种方法是双击KeyDown事件右侧的空文本框:VS将为您生成代码。

您需要为该事件添加事件处理程序。因此,在properties菜单中,双击KeyDown事件旁边的字段,VisualStudio将为您创建一个事件处理程序。它看起来像这样:

private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
    // enter your code here
}
您也可以自己订阅事件,而无需使用“属性”窗口。例如,在窗体的构造函数中:

textBox1.KeyDown += HandleTextBoxKeyDownEvent;
然后实现事件处理程序:

private void HandleTextBoxKeyDownEvent(object sender, KeyEventArgs e)
{
    // enter your code here
}

这些答案将使visual studio生成事件并将其绑定到Designer.cs文件中的幕后

如果您想知道如何自己绑定事件,它看起来是这样的

MyTextBox.KeyDown += new KeyEventHandler(MyKeyDownFunction)

private function MyKeyDownFunction(object sender, KeyEventArgs e) {
    // your code
}
如果这样做,则新的KeyEventHandler()部分是可选的。您还可以使用lambdas来避免样板代码

MyTextBox.KeyDown += (s, e) => {
    // s is the sender object, e is the args
}

我想补充一个事实,visualstudio以一种非常好的方式自动为您实现了这一点。开始键入“textBox1.KeyDown+=”,然后按“Tab”键两次。lambda变量很灵活。