繁体   English   中英

c#键按触发按钮单击

[英]c# key press trigger button click

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

    }
}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM