اوکی
باید دو تا فرم بسازی
توی فرم اولت که web browser گذاشتی. این هیچ
حالا هنگام کلیک روی popUp ها باید جوری مدیریت کنی که فرم بعدی باز شه
چجوری؟
1- اول این رو به رفرنست Add کن: shdocvw.dll
(روی رفرنس راست کلیک کن و Add رو بزن و Browse را بزن و برو مسیر زیر
c:\windows\system32 و shdocvw.dll را به رفرنسهای پروژه اضافه کن)
2- یه فرم بساز (این برای پاپ آپه) و از toolBox یه web Browser روش بنداز
این کدها رو هم در نظر بگیر :
public partial class Form2 : Form { public Form2() {
InitializeComponent();
}
public WebBrowser Browser {
get { return webBrowser1; }
}
}
3- حالا توی همون فرم اولت که اونجا هم web browser باید باشه کدهای پایین رو که برات گذاشتم بزار
public partial class Form1 : Form { public Form1() {
InitializeComponent();
webBrowser1.Url = new Uri("http://google.com");
}
SHDocVw.WebBrowser nativeBrowser;
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
nativeBrowser = (SHDocVw.WebBrowser)webBrowser1.ActiveXInstance;
nativeBrowser.NewWindow2 += nativeBrowser_NewWindow2;
}
protected override void OnFormClosing(FormClosingEventArgs e) {
nativeBrowser.NewWindow2 -= nativeBrowser_NewWindow2;
base.OnFormClosing(e);
}
void nativeBrowser_NewWindow2(ref object ppDisp, ref bool Cancel) {
var popup = new Form2();
popup.Show(this);
ppDisp = popup.Browser.ActiveXInstance;
}
}
همین!
با این روش توی فرم اولت با web Browser میشه کار کرد و اگر کاربر popup رو کلیک کنه بجای IE فرم دومت باز میشه