为什么Powerpoint的幻灯片放映视图不显示对主布局形状的文本属性所做的最新更改?

时间:2017-10-04 04:07:07

标签: c# powerpoint slideshow

背景

我在Master布局的自定义布局幻灯片中创建了2个形状的倒计时器。第一个pieShape是使用Powerpoint的Pie形状创建的,第二个ovalShape是使用Oval形状创建的。

enter image description here

我的VSTO C#加载项中有一段代码,它使用pieShape.Adjustments[2]类每1秒定期更新ovalShape.TextFrame2.TextFrange.Text属性和System.Windows.Forms.Timer属性。 ovalShape.TextFrame2.TextFrange.Text中的更改应导致更改号码

问题

ovalShape.TextFrame2.TextFrange.Text中的更改未反映在幻灯片显示视图中,例如,仅更新pieShape,而不是ovalShape。但是,它反映在幻灯片视图的外部

在SlideShow视图中查看时计时器的行为方式。 (仅更新pieShapeenter image description here

幻灯片放映之外观看计时器的行为方式。 (正确的行为) enter image description here

为什么Powerpoint的幻灯片放映视图不显示对形状文本属性所做的最新更改,从而在主布局中的布局上创建形状?

其他说明

  1. 如果我将ovalShapepieShape放在幻灯片上(不在 任何自定义布局),这个问题都不会发生。

  2. 更新ovalShape.TextFrame2.TextFrange.Text的代码

     //atimer extends System.Windows.Forms.Timer
     //it has a property called ticking that stores the current second
    
     ovalShape.TextFrame2.TextRange.Text = atimer.ticking.ToString();
    

1 个答案:

答案 0 :(得分:0)

PowerPoint在演示期间更改幻灯片/母版时刷新SlideShow视图是不可靠的。

有时它足以做一个.View.GoToSlide(x),其中x是当前幻灯片的SlideIndex。

当它不起作用时,可以帮助在幻灯片上或幻灯片上添加形状然后将其删除。在添加形状之后再次执行gotoslide技巧也可能有帮助,并在删除之后再次执行。