2014-07-25 5 views
-1

새 슬라이드를 만들고 클릭 한 경우 특정 동작을 수행하는 TextBox를 추가하는 파워 포인트 용 C#으로 추가 기능을 작성하려고합니다. 현재 메모장을 여는 작업을하고 있지만 대신 다른 함수를 호출하고 싶습니다. Application_WindowSelectionChange 이벤트 핸들러를 초기화의 ThisAddIn_Startup 방법에PowerPoint C# - 수신기로 도형 추가

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"; 

답변

0

:

현재의 코드는 다음과 같습니다. 이벤트 핸들러를 들어

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

, 당신은이 ThisAddIn_Shutdown 방법에서 또한
public void Application_WindowSelectionChange(PowerPoint.Selection sel) 
{ 
    if (sel.Type == PowerPoint.PpSelectionType.ppSelectionShapes) 
    { 
     if (sel.ShapeRange.Name == "MyTextBox") 
     { 
     //Perform certain action. 
     } 
    } 
} 

, 당신이 할 필요가

하는 this-

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

이 코드 - 보이지 않는다 다음 수 있습니다 일하다. 내 코드는 https://gist.github.com/hiemanshu/a93cdbc7b6d31218f707입니다. –

관련 문제