improve:PPT翻页打断
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using Microsoft.Office.Interop.PowerPoint;
|
using Microsoft.Office.Interop.PowerPoint;
|
||||||
|
using Microsoft.Office.Core;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -718,7 +719,7 @@ namespace Ink_Canvas.Helpers
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool TryNavigateNext()
|
public bool TryNavigateNext(bool skipAnimations = false)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -729,7 +730,54 @@ namespace Ink_Canvas.Helpers
|
|||||||
if (slideShowWindow?.View != null)
|
if (slideShowWindow?.View != null)
|
||||||
{
|
{
|
||||||
slideShowWindow.Activate();
|
slideShowWindow.Activate();
|
||||||
slideShowWindow.View.Next();
|
|
||||||
|
var view = slideShowWindow.View;
|
||||||
|
var currentPosition = 0;
|
||||||
|
var totalSlides = 0;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
currentPosition = view.CurrentShowPosition;
|
||||||
|
totalSlides = slideShowWindow.Presentation?.Slides?.Count ?? 0;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
view.Next();
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"调用下一页失败: {ex}", LogHelper.LogType.Warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (skipAnimations && currentPosition > 0 && totalSlides > 0)
|
||||||
|
{
|
||||||
|
int positionAfterNext = currentPosition;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
positionAfterNext = view.CurrentShowPosition;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
if (positionAfterNext == currentPosition && currentPosition < totalSlides)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
view.GotoSlide(currentPosition + 1, MsoTriState.msoTrue);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
LogHelper.WriteLogToFile($"强制跳转到下一页失败: {ex}", LogHelper.LogType.Warning);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -1533,7 +1533,7 @@ namespace Ink_Canvas
|
|||||||
strokesToSave = inkCanvas.Strokes.Clone();
|
strokesToSave = inkCanvas.Strokes.Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_pptManager?.TryNavigateNext() == true)
|
if (_pptManager?.TryNavigateNext(skipAnimations: true) == true)
|
||||||
{
|
{
|
||||||
var currentSlideAfterNavigate = _pptManager?.GetCurrentSlideNumber() ?? 0;
|
var currentSlideAfterNavigate = _pptManager?.GetCurrentSlideNumber() ?? 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user