Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PowerPoint C#-通过侦听器添加形状_C#_Powerpoint - Fatal编程技术网

PowerPoint C#-通过侦听器添加形状

PowerPoint C#-通过侦听器添加形状,c#,powerpoint,C#,Powerpoint,我正在尝试用C#为powerpoint编写一个外接程序,它可以创建一张新幻灯片,并添加文本框,单击该文本框可以执行特定操作。目前,我已经得到了一个操作,它打开记事本,但我希望它调用另一个函数,而不是 当前代码如下所示: PowerPoint.Shape sendQuestion = slide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, slideWidth - 200, slideHeigh

我正在尝试用C#为powerpoint编写一个外接程序,它可以创建一张新幻灯片,并添加文本框,单击该文本框可以执行特定操作。目前,我已经得到了一个操作,它打开记事本,但我希望它调用另一个函数,而不是

当前代码如下所示:

PowerPoint.Shape sendQuestion = slide.Shapes.AddTextbox(Office.MsoTextOrientation.msoTextOrientationHorizontal, slideWidth - 200, slideHeight - 50, 200, 50);
sendQuestion.Name = "sendQuestion";
sendQuestion.TextFrame.TextRange.InsertAfter("Send Question");
sendQuestion.ActionSettings[PowerPoint.PpMouseActivation.ppMouseClick].Action = PowerPoint.PpActionType.ppActionRunProgram;
sendQuestion.ActionSettings[PowerPoint.PpMouseActivation.ppMouseClick].Run = @"C:\WINDOWS\system32\notepad.exe";

在ThisAddIn\u启动方法中,初始化应用程序\u WindowSelectionChange事件处理程序

public void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.WindowSelectionChange += Application_WindowSelectionChange;
}
对于事件处理程序,可以使用以下代码-

public void Application_WindowSelectionChange(PowerPoint.Selection sel)
{
    if (sel.Type == PowerPoint.PpSelectionType.ppSelectionShapes)
    {
        if (sel.ShapeRange.Name == "MyTextBox")
        {
         //Perform certain action.
        }
    }
}
在ThisAddIn_Shutdown方法中,也需要执行此操作-

public void ThisAddIn_Startup(object sender, System.EventArgs e)
{
    this.Application.WindowSelectionChange -= Application_WindowSelectionChange;
}

这似乎不起作用。我的密码在这里