【问题标题】:focus on input in webrowser object windows form app专注于 Web 浏览器对象窗口表单应用程序中的输入
【发布时间】:2018-07-27 17:05:48
【问题描述】:

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

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

HTML 代码:

<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

我做错了什么?

【问题讨论】:

    标签: c# winforms webbrowser-control


    【解决方案1】:

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

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

    参考:WebBrowserControl-DocumentComplete Event

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 2021-01-15
      • 1970-01-01
      相关资源
      最近更新 更多