.net – System.Windows.Forms.WebBrowser在同一窗口或同一会话
发布时间:2021-05-22 07:21:47  所属栏目:Windows  来源:网络整理 
            导读:当使用.NET WebBrowser控件时,如何使用相同的会话在新窗口中打开链接(即不要在服务器上启动新的ASP.NET会话),或者如何捕获新的窗口事件在同一个WebBrowser控件中打开URL? 我刚刚花了一个小时寻找答案,所以我虽然会在这里发布结果.您可以使用SHDocVwCtl.We
                
                
                
            | 当使用.NET WebBrowser控件时,如何使用相同的会话在新窗口中打开链接(即不要在服务器上启动新的ASP.NET会话),或者如何捕获新的窗口事件在同一个WebBrowser控件中打开URL? 我刚刚花了一个小时寻找答案,所以我虽然会在这里发布结果.您可以使用SHDocVwCtl.WebBrowser_V1对象捕获NewWindow事件. 注意:代码从http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21484555.html#discussion //-------------------------------VB.NET Version:-------------------------------
Dim WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V1
Private Sub Form_Load()
    Set Web_V1 = WebBrowser1.Object
End Sub
Private Sub Web_V1_NewWindow(ByVal URL As String,ByVal Flags As Long,ByVal TargetFrameName As String,PostData As Variant,ByVal Headers As String,Processed As Boolean)
    Processed = True
    WebBrowser1.Navigate URL
End Sub
//-------------------------------C# Version-------------------------------
private SHDocVw.WebBrowser_V1 Web_V1; //Interface to expose ActiveX methods
private void Form1_Load(object sender,EventArgs e)
{
    //Setup Web_V1 interface and register event handler
    Web_V1 = (SHDocVw.WebBrowser_V1)this.webBrowser1.ActiveXInstance;
    Web_V1.NewWindow += new SHDocVw.DWebBrowserEvents_NewWindowEventHandler(Web_V1_NewWindow);
}
private void Web_V1_NewWindow(string URL,int Flags,string TargetFrameName,ref object PostData,string Headers,ref bool Processed)
{
    Processed = true; //Stop event from being processed
    //Code to open in same window
    this.webBrowser1.Navigate(URL);
    //Code to open in new window instead of same window
    //Form1 Popup = new Form1();
    //Popup.webBrowser1.Navigate(URL);
    //Popup.Show();
}(编辑:锡盟站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
站长推荐
            
        
