Embed PowerPoint Viewer in C# Win Form

匿名 (未验证) 提交于 2019-12-03 00:59:01

问题:

Is it possible to Embed a PowerPoint Viewer into a C# Windows Form?

I am currently use the following code:

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; 

It shows the viewer on the form but the placement and sizing is wrong. How would one size and place it correctly.

Another option:
I have encountered the Aximp.exe application meant to be used for showing ActiveX controls on the Win Forms in C#. How would I use this with the PPT Viewer?

回答1:

See this link. You can also display the ppt in a WebBrowser control. This might also be useful.



回答2:

Thanks for good links, http://support.microsoft.com/kb/304662 has useful info... That helped me :)



回答3:

For placement change the objPres.SlideShowWindow.Top to 10 as example and objPres.SlideShowWindow.Left to 12 so the upper left corner of the slide will be at (12,10) where left move it horizontal and the top move it down vertically.



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!