我利用winform的窗体的webbrowser页面,集成了一个窗体,根据网上各位博友 提供的帮助,找到了让弹出窗体不失效的问题,找到了一个SHDocVw 的控件,实现模式如下:(this.KMSWebBrowser.ActiveXInstance as SHDocVw.WebBrowser).NewWindow2 += new SHDocVw.DWebBrowserEvents2_NewWindow2EventHandler(OnNewWindow2);
并声明了一个弹出的窗口,当然,这个也是一个利用winform包裹的webbrowser控件
// 保证,在选择客户详细信息的时候,弹出新的二级窗口,并保证二级窗口数据不至于失效
public void OnNewWindow2(ref object ppDisp, ref bool Cancel)
{
try
{
KMSDetails frm = new KMSDetails();
ppDisp = frm.CustomerMoreDetails.ActiveXInstance;
//获取从主窗体中弹出的从属窗体的名字,并将名字展现在弹出窗口中。
// frm.Name = this.JSBSSWebContainer.Document.Window.Document.Title;
frm.Show();
}
catch (Exception ex)
{
_loggingService.ClientLogging.Write(this.ModuleName,
ex.Source + Environment.NewLine + ex.Message + Environment.NewLine + ex.StackTrace,
"JSKMSPage", "OnNewWindow2", LoggingPriority.source3);
}
}
现在是问题:
1.使用winform包裹的webbrowser控件,虽然能够展现弹出的Ie页面,但是,至于IE页面中的excel等文档时无法打开的,估计是因为Winform不如IE浏览器的扩展性好,点击以后是无法完成IE内附件下载的或者说不支持,直接点击打开
2.如果不使用上面的模式,而将IE中的弹出窗口直接以浏览器模式弹出,如何保持IE的session不丢失?换言之,就是不会弹出一个session失效的登陆界面或者没有会话的界面?
请各位高手指导~
博主问题解决了吗