0

我在 C# windows 应用程序的表单上有一个 tabControl,它有两个标签页。我禁用了这个 tabControl 的 tabIndex。此 tabControl 的第一页上有一个 textBox,此 tabControl 的第二页上有一个 webBrowser。我希望 textBox 在加载表单时默认具有第一个索引。这工作得很好。但是当我添加这个命令时:

webBrowser1.Navigate(Directory.GetCurrentDirectory() + "\\help.pdf");

在 form_load 事件中,文本框不再具有索引。我应该怎么办?

4

2 回答 2

1

.NET WebBrowser 控件有两个事件可以帮助您:

  • OnNavigating
  • OnDocumentCompleted

最简单的逻辑是在导航之前保持 TextBox 是否获得焦点,并在导航完成后恢复焦点状态。

    private bool _bWasTextBox1Focused = false;

    private void webBrowser1_Navigating(object sender, WebBrowserNavigatingEventArgs e)
    {
        _bWasTextBox1Focused = textBox1.Focused;
    }

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        if (_bWasTextBox1Focused) textBox1.Focus();
    }
于 2016-07-07T18:06:00.507 回答
0

我只关注 webBrowser documentComplete 事件中的 textBox1:

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    textBox1.Focus();
}
于 2016-07-07T18:11:17.373 回答