C# 关注webrowser对象windows窗体应用程序中的输入

C# 关注webrowser对象windows窗体应用程序中的输入,c#,winforms,webbrowser-control,C#,Winforms,Webbrowser Control,我正在开发win form应用程序,其中包括专门制作的带有表单的网站。我使用int web浏览器对象,因为我有问题 我想在应用程序运行后关注特定的输入字段 HTML代码: <button id="btn">Ok</button><input id="txt"> 然后我得到了System.NullReferenceException 我做错了什么?您会遇到这样的错误,因为在访问时指定的控件尚未呈现在DOM中。因此,您需要做的是,在页面完全加载后触发事件。为此,

我正在开发win form应用程序,其中包括专门制作的带有表单的网站。我使用int web浏览器对象,因为我有问题

我想在应用程序运行后关注特定的输入字段

HTML代码:

<button id="btn">Ok</button><input id="txt">
然后我得到了
System.NullReferenceException


我做错了什么?

您会遇到这样的错误,因为在访问时指定的控件尚未呈现在DOM中。因此,您需要做的是,在页面完全加载后触发事件。为此,您可以使用
WebBrowser
控件的
DocumentComplete事件,如下所示:

private void DoComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    webBrowser1.Document.GetElementById("txt").Focus();
}
参考:

private void DoComplete(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    webBrowser1.Document.GetElementById("txt").Focus();
}