选项卡上的WebBrowser控件使主窗口无效
我有一个Visual Studio 2008 .NET 2.0 WinForms应用程序,它在其主要TabControl的一个TabPages上包含一个WebBrowser控件。此WebBrowser仅用于显示随应用程序一起分发的PDF文件,除该WebBrowser控件本身外,该选项卡上没有其他控件。
问题:在程序启动时,应用程序的主窗口未设置为活动状态。在激活之前,必须通过[Alt-Tab]单击或选择它。
我已经将它跟踪到这两行,从FormMain_Load()开始。我已经形成了一个完全限定的路径,我想要显示的PDF文件,并调用File.Exists()来确保它真的存在(它是):
Uri uri1 = new Uri("path\to\filename.pdf");
webBrowser1.Url = uri1;
如果我注释掉上面的第二行,当然它不会将PDF文件加载到WebBrowser控件中,但程序可以正常启动 - 它的主窗口是活动的(标题栏获取“活动窗口”颜色)并且文本光标在第一个选项卡的第一个字段中闪烁,我在FormMain_Shown()中使用TextBox.Select()放置它。
如果我在第二行添加回来,PDF文件会正确加载 - 但在启动时,程序的主窗口处于非活动状态(标题栏获取“非活动窗口”颜色)。这不是焦点问题,但可能与z顺序有关。没有其他窗口遮挡主窗口,因为我刚从桌面图标启动程序,屏幕底部的任何按钮都没有显示任何窗口处于活动状态。它正常启动,未最小化或最大化。
顺便说一下,WebBrowser控件所在的TabPage不是第一个选项卡。我只知道它正确加载PDF文件,因为这些行不会抛出异常,当我点击该选项卡时,PDF文件显示正常。另外FWIW我有最新的IE更新和Adobe Reader X版本。
我认为这可能是我的开发机器(带有一些IDE插件的Windows 7 64位Ultimate)的奇怪之处,但运行标准32位XP的客户也在报告它。另外我在7和Vista中的XP虚拟机也表现出同样的东西。一旦我禁用加载URL,程序就会按预期启动为活动窗口。
没有找到相关结果
已邀请:
1 个回复
勺的驴吓识