Да, мое использование элемента управления webBrowser прекрасно работает в IE8, а не в IE9.Кажется, что установка HTMLDocument из DesignMode = "On" в DesignMode = "Off" удаляет документ из веб-браузера.Я сделал этот пример, который показывает мою проблему.На форме есть две кнопки и один веб-браузер.Одна кнопка выполняет webBrowser.DocumentText, а другая кнопка переключается между document.DesignMode = "On" и "Off".Кнопка DesignMode использует «CheckOnClick».Я надеюсь, что вы можете увидеть, что он делает.
Теперь, если мы запустим это на машине с IE8;затем переключение в DesignMode и из него оставляет webBrowser.Document на месте.Теперь, если мы запустим это на машине с IE9;затем установка DesignMode на «On» или «Off» приводит к изменению документа webBrowser на «. Если webBrowser находится в DesignMode =« On », и мы устанавливаем DocumentText; тогда webBrowser теперь в DesignMode =« Off ».
Мне не удалось найти способ обойти это поведение, чтобы иметь возможность одновременно использовать webBrowser.DocumentText и DesignMode в IE9. Поведение IE8 работает для меня, а IE9 - нет.не могу представить, как я могу установить DocumentText и затем отредактировать его.
Есть ли настройка или обходной путь, чтобы вернуть поведение IE8? Кажется невозможным иметь возможность использовать DocumentText иDesignMode для того же документа в IE9.
Заранее благодарен за любую помощь. Я потратил много времени на то, чтобы найти свой ответ, но пока не смог.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
webBrowser1.DocumentText = "<HTML><BODY>Initial text</BODY></HTML>";
}
private void designModeToolStripButton_Click(object sender, EventArgs e)
{
if (this.designModeToolStripButton.Checked)
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "On", null);
else
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "Off", null);
}
private void setTextToolStripButton_Click(object sender, EventArgs e)
{
webBrowser1.DocumentText = "<HTML><BODY>New text</BODY></HTML>";
}
}
Я также попытался выполнить настройку DesignMode в событии WebBrowserDocumentCompleted, и та же проблема возникает (автоматически).
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (this.designModeToolStripButton.Checked)
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "On", null);
else
webBrowser1.Document.DomDocument.GetType().GetProperty("designMode").SetValue(webBrowser1.Document.DomDocument, "Off", null);
}