在c#中实现多标签浏览器powerpoint插件,在第二次访问时消失

时间:2013-08-27 17:18:30

标签: c# plugins webbrowser-control powerpoint

我正在尝试使用c#在powerpoint中实现一个multitab webbrowser插件。

到目前为止,我在multitab上使用shdocvw.webbrowser objets,并根据相应的选项卡将它们的可见性设置为true或false。它运作正常。

当我想在幻灯片放映时第二次查看多图章幻灯片时,问题就出现了。由于一些不为人知的原因,我的webbrowser对象消失了,除了第一个!我试图设置zorder或visibilty,但没有一个工作!有趣的是,浏览似乎已经完成,因为标题标题会随着网页标题的变化而变化!

我的代码是这样的:

                PowerPoint.Shape tabStrip = sld.Shapes["tabs"];

                PowerPoint.Shape webShape1 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape2 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape3 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape4 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");
                PowerPoint.Shape webShape5 = sld.Shapes.AddOLEObject(left, top + 60, width, height * (float)0.85 - 60, "Shell.Explorer.2");    

                tabStrip.ZOrder(Office.MsoZOrderCmd.msoSendToBack);

                webShape1.Name = "web1";
                webShape2.Name = "web2";
                webShape3.Name = "web3";
                webShape4.Name = "web4";
                webShape5.Name = "web5";

                SHDocVw.WebBrowser web1 = webShape1.OLEFormat.Object;
                SHDocVw.WebBrowser web2 = webShape2.OLEFormat.Object;
                SHDocVw.WebBrowser web3 = webShape3.OLEFormat.Object;
                SHDocVw.WebBrowser web4 = webShape4.OLEFormat.Object;
                SHDocVw.WebBrowser web5 = webShape5.OLEFormat.Object;


                webShape1.OLEFormat.Object.Visible = true;
                webShape2.OLEFormat.Object.Visible = false;
                webShape3.OLEFormat.Object.Visible = false;
                webShape4.OLEFormat.Object.Visible = false;
                webShape5.OLEFormat.Object.Visible = false;

            web1.Navigate2(webAdress[currentSlide, 0]);

每次在幻灯片模式下访问幻灯片时,我创建包含webbrowser对象的5个形状,并在用户访问其他幻灯片时删除webShapes,然后使第一个可见,其余不可见。它在第一次运行时工作正常,但

请帮助我该怎么办?

0 个答案:

没有答案