3
我嘗試在C#中使用WebBrowserControll。我使用下面的代碼。 WebBrowser Controll打開網頁,如果有一個href =空白,它也會在新的WebBrowser Controll中運行。但是如果我想用window.open打開一個新的JavaScript,它會打開一個新的WebBrowser Controll。我必須做的是在我的WebBrowser Controll中打開一個href = blank和一個Java腳本。使用javaScript和html的C#WebBrowser控件
有沒有人有答案?
感謝您的幫助。
public MainWindow()
{
InitializeComponent();
webBrowser1.ScriptErrorsSuppressed = true;
webBrowser1.FileDownload += new EventHandler(webBrowser1_FileDownload);
webBrowser1.NewWindow += new CancelEventHandler(webBrowser1_NewWindow);
webBrowser1.DocumentCompleted +=new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
webBrowser1.PreviewKeyDown += new PreviewKeyDownEventHandler(webBrowser1_PreviewKeyDown);
this.FormClosing += new FormClosingEventHandler(webBrowser1_FormClosing);
}
public void setURL(String aURL)
{
webBrowser1.Url = new Uri(aURL);
}
private void webBrowser1_NewWindow(object sender, CancelEventArgs e)
{
// open href= blank in new WebBrowser Controll
MainWindow newWindow = new MainWindow();
newWindow.setURL(webBrowser1.StatusText);
newWindow.Show();
e.Cancel = false;
}
private void webBrowser1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
Console.WriteLine(e.KeyCode.ToString() + " " + e.Modifiers.ToString());
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.V)
{
MessageBox.Show("ctrl-v pressed");
}
}
private void webBrowser1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show(this, "Really close the window?", "Caption", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
e.Cancel = false;
}
else
{
e.Cancel = true;
}
}
private void beendenToolStripMenuItem1_Click(object sender, EventArgs e)
{
this.Close();
}