Как проверить конец презентации с помощью PowerPoint.Interop - PullRequest
0 голосов
/ 25 ноября 2011

Я показываю презентацию Powerpoint на странице с ASP.NET, и у меня есть только кнопки Далее и Назад .

Что я хотел бы проверить, так это конец презентации или нет, как только пользователь нажмет кнопку Далее .

Вот как я пытаюсь это сделать:

private void btnNext_Click(object sender, EventArgs e)
    {
        try
        {

            presesntation.SlideShowWindow.View.Next();
            if (presesntation.SlideShowWindow.View.State.Equals(Microsoft.Office.Interop.PowerPoint.PpSlideShowState.ppSlideShowDone))
            {
                if (this.PresentationEnd != null)
                {
                    this.PresentationEnd(this, EventArgs.Empty);
                }

                btnNext.Visible = false;
                btnPrevious.Visible = false;
                foreach (Process proc2 in Process.GetProcessesByName("POWERPNT"))
                {
                    proc2.Kill();
                }
            }
            ///Cria um delay de 1 seg para o proximo clique no botão
            Thread.Sleep(1000);
        }
        catch
        {

        }
    }

Строка, которая проверяет конец презентации, - if (presesntation.SlideShowWindow.View.State.Equals(Microsoft.Office.Interop.PowerPoint.PpSlideShowState.ppSlideShowDone)), но она не работает с некоторыми .ppsx презентациями. Хотя это работает с каждой .pps презентацией

Как проверить окончание презентации?

1 Ответ

0 голосов
/ 25 ноября 2011

Ваш обработчик следующего клика может проверить Slide.Index текущего слайда, чтобы увидеть, равен ли он Slides.Count презентации.Если это так, то вы уже на последнем слайде (т. Е. Находитесь в конце презентации).

Затем вы можете закончить показ самостоятельно, а не пытаться выяснить, закончил ли пользователь его..

...