当 PDF 文件由 C# 中的 webBrowser 控件中的事件加载form_load控件时,控件会丢失索引
本文关键字:控件 load form 索引 加载 事件 文件 PDF 中的 webBrowser | 更新日期: 2023-09-27 17:56:05
我在 C# Windows 应用程序中的窗体上有一个选项卡控件,它有两个选项卡页。我禁用了此选项卡控件的选项卡索引。此选项卡控件的第一页上有一个文本框,此选项卡控件的第二页上有一个 Web 浏览器。我希望文本框在加载表单时默认具有第一个索引。这工作得很好。但是当我添加此命令时:
webBrowser1.Navigate(Directory.GetCurrentDirectory() + "''help.pdf");
在 form_load 事件上,文本框不再具有索引。我该怎么办?
.NET WebBrowser 控件有两个可能对您有帮助的事件:
- 导航
- 文档已完成
最简单的逻辑是在导航之前保留文本框是否聚焦,并在导航完成后还原焦点状态。
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();
}
我只关注 webBrowser 文档中的 textBox1 完成事件:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
textBox1.Focus();
}