c#键按下触发按钮单击

Dan*_*676 0 c# events winforms

private void btnBrowserGo_Click(object sender, EventArgs e)
{
    browser.Navigate(txtBrowserURL.Text);
}
Run Code Online (Sandbox Code Playgroud)

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

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

    }
}
Run Code Online (Sandbox Code Playgroud)

key*_*rdP 5

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

btnBrowserGo_Click(null, null);
Run Code Online (Sandbox Code Playgroud)

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

void NavigateBrowser()
{
   browser.Navigate(txtBrowserURL.Text);
}
Run Code Online (Sandbox Code Playgroud)

然后,从任何事件,您只需调用该方法.

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

要么

private void btnBrowserGo_Click(object sender, EventArgs e)
{
    NavigateBrowser();
}
Run Code Online (Sandbox Code Playgroud)

  • 我甚至可能更进一步,并具有NavigateBrowser(string url)功能.这样你的导航功能就不依赖于文本框中的任何内容. (2认同)