C# 键按触发按钮单击

本文关键字:按钮 单击 | 更新日期: 2023-09-27 18:19:55

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)
    {
    }
}

C# 键按触发按钮单击

您可以使用以下命令直接调用事件:

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();
}

尝试

btnBrowserGo_Click(null, null);

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

但是,最好将

"逻辑"提取到其他方法中,并从两个事件处理程序中都使用该方法。

你这里的逻辑是单行的,但可能更多......

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