Ответ 1
См. эту ссылку. Вы также можете отобразить ppt в элементе управления WebBrowser. Это также может быть полезно.
Возможно ли внедрить средство PowerPoint Viewer в С# Windows Form?
В настоящее время я использую следующий код:
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, предназначенное для отображения элементов управления ActiveX в Win Forms на С#. Как я буду использовать это с PPT Viewer?
См. эту ссылку. Вы также можете отобразить ppt в элементе управления WebBrowser. Это также может быть полезно.
Спасибо за хорошие ссылки, http://support.microsoft.com/kb/304662 имеет полезную информацию... Это помогло мне:)
Для изменения места размещения используйте objPres.SlideShowWindow.Top
to 10 в качестве примера и objPres.SlideShowWindow.Left
до 12, поэтому верхний левый угол слайда будет находиться в положении (12,10), где левое перемещение по горизонтали и верхнее перемещение вниз по вертикали.