c#键按下触发按钮单击

时间:2012-01-08 15:19:58

标签: c# winforms events

private void btnBrowserGo_Click(object sender, EventArgs e)
{
    browser.Navigate(txtBrowserURL.Text);
}

上面的代码将浏览器定向到文本框中的URL地址。如果用户在键入URL时按下以太键,我希望也会发生此事件。我有这个代码(下面),但不知道如何调用上面的代码

private void txtBrowserURL_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)13)
    {

    }
}

3 个答案:

答案 0 :(得分:5)

您可以直接使用以下方式调用该事件:

btnBrowserGo_Click(null, null);

但是,如果您没有在事件本身处理导航并且只是调用方法,那会更好。这样,该方法可以从类中的任何其他地方直接调用。如果方法中有更多逻辑,这将特别有用。

void NavigateBrowser()
{
   browser.Navigate(txtBrowserURL.Text);
}

然后,从任何事件中,您都可以调用该方法。

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

private void btnBrowserGo_Click(object sender, EventArgs e)
{
    NavigateBrowser();
}

答案 1 :(得分:1)

尝试

btnBrowserGo_Click(null, null);

因为你不使用最后两个参数。

但是,将'logic'提取到其他方法中可能会很好,并且可以从BOTH事件处理程序中使用该方法。

你的逻辑是一线的,但可能更多......

答案 2 :(得分:0)

private void txtBrowserURL_KeyPress(object sender, KeyPressEventArgs e)
{
    if (e.KeyChar == (char)13)
    {
       btnBrowserGo_Click(btnBrowserGo,EventArgs.Empty);
    }
}