当文本框值更改为事件时,自动按下输入C#

时间:2013-12-30 12:58:28

标签: c# .net winforms

我开发了一个应用程序,我想在按 Enter 后按 Enter 成功运行代码后运行一些代码。我希望在文本框值更改时自动按 Enter

但作为事件因为我遇到线程问题所以如果我在键盘上按 Enter 它运行良好但是当我写行代码(sendkey.send("{Enter}"))时它不会像我在键盘上按 Enter 我想按 Enter 来运行方法“image()”

private void tbResponse_TextChanged(object sender, EventArgs e)
    {

        SendKeys.Send("{ENTER}");

    }

    private void tbResponse_KeyPress(object sender, KeyPressEventArgs e)
    {

        if (e.KeyChar == (char)13)
        {
            image();
        }
    }

2 个答案:

答案 0 :(得分:5)

只需直接调用image()方法,无需任何按钮'自动按':

private void tbResponse_TextChanged(object sender, EventArgs e)
{
    image();
}

private void tbResponse_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)13)        
        image();        
}

答案 1 :(得分:0)

@Sergey Berezovskiy解决方案很好,但是如果你仍想用keypress事件处理它,那就这样做

private void tbResponse_TextChanged(object sender, EventArgs e)
{

    tbResponse_KeyPress(this, new KeyPressEventArgs((char)13));

}