我正在使用.NET webbrowser控件组合一个WYSIWYG html编辑器。我已经设法将用于在光标位置插入表格的代码拼凑在一起。但是我现在正试图做一些不同的事情。
我需要做的是在表格行周围插入一个和html注释。我已经设法编写了代码,从光标位置查看父元素以查找curor所在的表行。问题是当我尝试在范围内使用pastHtml方法时,它会引发异常没有详细说明为什么失败!。
下面列出的代码。
private void OnTest(object sender, EventArgs e)
{
try
{
IHTMLDocument2 doc = wbDesign.Document.DomDocument as IHTMLDocument2;
IHTMLSelectionObject currentSelection = doc.selection;
if (currentSelection != null)
{
IHTMLTxtRange range = currentSelection.createRange() as IHTMLTxtRange;
bool foundRow = false;
IHTMLElement parentElement = null;
parentElement = range.parentElement();
if ("TR" == parentElement.tagName) foundRow = true;
while (!foundRow)
{
if (null == parentElement.parentElement) break;
parentElement = parentElement.parentElement;
if ("TR" == parentElement.tagName) foundRow = true;
}
if (foundRow)
{
currentSelection.clear();
range.moveToElementText(parentElement);
range.pasteHTML("test");
}
else
{
MessageBox.Show("Unable to find table row from selection point.");
}
}
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
}