如何获取文本框按键事件?

时间:2020-03-23 06:25:25

标签: c# events textbox keypress

如何复制或复制其他控件事件?我想在新控件中使用其他控件事件。 可以说我有一个文本框。

TextBox tbTemp = new TextBox ();
tbTemp.Keypress += new KeyPressEventHandler(some keypress); //I assigned some keypress event here & this works fine


TextBox tbNew = new TextBox ();//create new textbox and assign keypress events from existing textbox
tbNew.Keypress += tbTemp.Keypress; //This is not working. It says the event control.keypress can only appear on left hand side of +=

or

tbNew.Keypress += new KeyPressEventHandler(tbTemp.Keypress);//this is not working

是否可以捕获其他控件事件?我需要捕获或复制tbTemp keypressEvent并分配给新的TextBox(tbNew)

1 个答案:

答案 0 :(得分:0)

如果您的问题是

,我会发布此答案

“我有很多文本框,但是如果其中一个“ KeyPress”被触发,我希望使用相同的函数来处理它。”

您需要做的就是将相同的功能OnKeyPress订阅不同控件的事件。

// This is the function
private void OnKeyPress( object sender, KeyPressEventArgs e )
{
    // Your implementation.
}


// Your constructor or where your subscribe event.
void Constructor()
{
 // This will work
    tbTemp += new System.Windows.Forms.KeyPressEventHandler(OnKeyPress);

    tbNew += new System.Windows.Forms.KeyPressEventHandler(OnKeyPress);
}

如果这不能回答您的问题,请编辑并说明您要实现的目标。

========

您的问题是

我需要捕获或复制tbTemp keypressEvent并分配给新的TextBox(tbNew)

每个控件都有自己的KeyPress事件,您不必复制(复制)它。因此,“重复的KeyPress事件”令人困惑。

然后,我假设您不想“复制事件”,而是“将控件的同一事件订阅到单个函数中。”

看看Understanding events and event handlers in C#

它应该有助于解释您的问题。