好吧,我在 .NET Framework 的 WebBroswer 控件中有一个弹出窗口,我使用 NewWindow 事件处理程序捕获它,就像这样。
WebBrowser w = new WebBrowser();
SHDocVw.WebBrowser_V1 web = (SHDocVw.WebBrowser_V1)w.ActiveXInstance;
web.NewWindow += new SHDocVw.DWebBrowserEvents_NewWindowEventHandler(web_NewWindow);
新的 Popup 采用新形式,带有 WebBrowser 控件的新实例。
void web_NewWindow(string URL, int Flags, string TargetFrameName, ref object PostData, string Headers, ref bool Processed)
{
Processed = true;
WebBrowser w2 = new WebBrowser();
Form PopUp = new Form();
PopUp.Controls.Clear();
PopUp.Controls.Add(w2);
w2.Dock = DockStyle.Fill;
PopUp.Show();
w2.Navigate(URL);
w2.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(w2_DocumentCompleted);
}
我的问题是 Window.Opener 对象在过程中为空。
该页面使用该字段将用户返回到原始窗口并在表单上填写一些值。
无论如何将 Window.Opener 对象从一个 WebBrowser 控件传递到下一个控件?这似乎不可能,但我必须尝试。
谢谢