(原)用WebBrowser浏览Office Web Apps Server,除去“下载”按钮

对,没错,如果你按关键字找到这篇随笔了,相信一定知道背景,以及我所说的是什么。


上一段子代码。

private void timerHideButton_Tick(object sender, EventArgs e)
        {
            try
            {
                HtmlDocument htmlDoc = webBrowser.Document;
                if (webBrowser.Document != null) 
                    htmlDoc = webBrowser.Document.Window.Frames["wacframe"].Document;
                if (htmlDoc == null)
                    return;

                var toolBar = htmlDoc.GetElementById("PptUpperToolbar.LeftButtonDock");    //PPT、PPTX
                if (toolBar == null)      
                    toolBar = htmlDoc.GetElementById("stripLeft");                 //DOC、DOCX、PDF
                if (toolBar == null)
                    toolBar = htmlDoc.GetElementById("m_excelWebRenderer_ewaCtl_stripLeft"); //XLS、XLSX

                if (toolBar != null)
                {
                    toolBar.InnerHtml = "";
                    timerHideButton.Enabled = false;
                }
            }
            catch (Exception ex)
            {
               Console.WriteLine(ex.Message);
            }
        }

  张三问了:还用个Timer,不科学,你应该把代码放到
                         webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e);

       回答:原先我也是这么想的,但是、可是因为 iframe 的原因,Completed事件可能会被激活多次,并且直到最后一次也不能准确得到预期结果。

posted @ 2018-01-05 15:21  禹过天晴  阅读(820)  评论(0编辑  收藏  举报