使用WebBrowser打开本机一个网页,希望修改其中一个选中的表格,修改表格的属性,包括列、行。

解决方案 »

  1.   

    可以使用DHTML操作阿。
    类似
    http://dotnet.aspx.cc/article/9d49b3ef-0f91-421b-841f-5d9a000bda04/read.aspx
      

  2.   

    例如The most complete C# Webbrowser wrapper control
    http://www.codeproject.com/useritems/csEXWB.asp
    http://msdn2.microsoft.com/zh-cn/library/system.windows.forms.htmldocument(VS.80).aspx
      

  3.   

    这二天太忙了,胡乱写了一个能够使用的插入行,插入列的代码,公开给大家参考参考了
            //增加行   
            private void InsertRow()
            {
                if (this.tsAlterTable.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("请输入需要插入到第几行!");
                    this.tsAlterTable.Focus();
                    this.tsAlterTable.SelectAll();
                    return;            } 
                mshtml.IHTMLDocument2 doc2 = (mshtml.IHTMLDocument2)wbEdit.Document.DomDocument;
                IHTMLElement htmlSelObj = null;
                if (doc2.selection.type.ToUpper() == "CONTROL")
                {
                    mshtml.IHTMLControlRange rangeObj = (mshtml.IHTMLControlRange)(doc2.selection.createRange());
                    if (rangeObj.length > 0)
                    {
                        htmlSelObj = rangeObj.item(0);
                        if ((htmlSelObj != null))
                        {
                            if (htmlSelObj.tagName.ToUpper() == "TABLE")
                            {                            HTMLTable obj = (HTMLTable)htmlSelObj;
                                int iRowLeagth = 0;
                                if (this.tsAlterTable.Text.Trim() != string.Empty)
                                {
                                    try
                                    {
                                        iRowLeagth = Convert.ToInt32(this.tsAlterTable.Text.Trim());
                                    }
                                    catch
                                    {
                                        MessageBox.Show("请输入数字!");                                }
                                    if (iRowLeagth > obj.rows.length)
                                    {
                                        MessageBox.Show("输入数字太大!");
                                        return;
                                    }                            }                            int ColLen = obj.cells.length / obj.rows.length;
                                HTMLTableRow row = (HTMLTableRow)obj.insertRow(iRowLeagth);
                                for (int i = 0; i < ColLen; i++)
                                {
                                    object elCell = row.insertCell(i);
                                    HTMLTableCell cell = (HTMLTableCell)elCell;
                                    cell.innerText = " ";                            }
                            }                    }
                    }
                }
            }