专注于webrowser对象windows窗体应用程序中的输入

时间:2016-03-29 11:42:55

标签: c# winforms webbrowser-control

我正在开发win form app,其中包括带有表格的特制网站。我正在使用int web浏览器对象,因为我有问题。

我想在app运行后专注于特定的输入字段。

HTML code:

<button id="btn">Ok</button><input id="txt">

在我的应用中,我有代码:

public Form1()
    {
        InitializeComponent();
        webBrowser1.Navigate(@"c:\test\test.htm");
        webBrowser1.Document.GetElementById("txt").Focus();//Error here
    }

我得到System.NullReferenceException

我做错了什么?

1 个答案:

答案 0 :(得分:0)

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

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

参考:WebBrowserControl-DocumentComplete Event