在 C# Win Form 中嵌入 PowerPoint Viewer

Posted

技术标签:

【中文标题】在 C# Win Form 中嵌入 PowerPoint Viewer【英文标题】:Embed PowerPoint Viewer in C# Win Form 【发布时间】:2010-11-18 13:33:10 【问题描述】:

是否可以将 PowerPoint 查看器嵌入到 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 窗体上显示 ActiveX 控件。我如何将它与 PPT Viewer 一起使用?

【问题讨论】:

看看这个答案。 ***.com/a/10271255/1257567">http://…> 正是你想要的。 【参考方案1】:

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

【讨论】:

我选择了 Web 浏览器控制选项。虽然我不得不更改 PowerPoint 2007 文档的一些设置。【参考方案2】:

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

【讨论】:

【参考方案3】:

对于放置,例如将 objPres.SlideShowWindow.Top 更改为 10,将 objPres.SlideShowWindow.Left 更改为 12,因此幻灯片的左上角将位于 (12,10) 处,左侧将其水平移动,顶部将其垂直向下移动。

【讨论】:

以上是关于在 C# Win Form 中嵌入 PowerPoint Viewer的主要内容,如果未能解决你的问题,请参考以下文章

C# Form App 不在 Win 7 Virtual Store 中写入

C#中如何让form全屏显示?如何嵌入浏览器?

C#通过WIN32 API实现嵌入程序窗体

WinForm中如何实现嵌入form窗体(panel与子窗体)

C#利用tabControl控件实现多窗体嵌入及关闭

c# 嵌入资源文件