使用C#Win Form嵌入PowerPoint Viewer

时间:2009-08-11 09:43:34

标签: c# powerpoint

是否可以将PowerPoint Viewer嵌入C#Windows窗体?

我目前使用以下代码:

objApp = new PowerPoint.Application();
        //objApp.Visible = MsoTriState.msoTrue;
        objPresSet = objApp.Presentations;
        objPres = objPresSet.Open(ppsAction.FileInfo.FullName, MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse);
        objSlides = objPres.Slides;

        //Run the Slide show
        objSSS = objPres.SlideShowSettings;
        objSSS.ShowType = Microsoft.Office.Interop.PowerPoint.PpSlideShowType.ppShowTypeSpeaker;
        objSSS.LoopUntilStopped = MsoTriState.msoTrue;
        objSSS.Run();

        WindowWrapper handleWrapper = new WindowWrapper(objPres.SlideShowWindow.HWND);
        SetParent(handleWrapper.Handle, this.ApplicationPanel.Handle);
        this.ApplicationPanel.Visible = true;
        objPres.SlideShowWindow.Height = ApplicationPanel.Height;
        objPres.SlideShowWindow.Width = ApplicationPanel.Width;
        objPres.SlideShowWindow.Top = 0;
        objPres.SlideShowWindow.Left = 0;

它显示表单上的查看器,但放置和大小调整是错误的。如何正确放置并正确放置它。

另一种选择
我遇到过Aximp.exe应用程序,用于在C#中的Win Forms上显示ActiveX控件。我如何在PPT Viewer中使用它?

3 个答案:

答案 0 :(得分:4)

请参阅this链接。您还可以在WebBrowser控件中显示ppt。 This也可能有用。

答案 1 :(得分:1)

感谢您提供良好的链接,http://support.microsoft.com/kb/304662提供了有用的信息......这对我有帮助:)。

答案 2 :(得分:1)

对于展示位置,将objPres.SlideShowWindow.Top更改为10并将objPres.SlideShowWindow.Left更改为12,以便幻灯片的左上角位于(12,10),其中左侧移动水平,顶部移动它垂直向下。