如何从 MS Project VSTO 加载项中侦听项目更改事件?

How do I listen for a Project Change event from an MS Project VSTO Add-in?

我的加载项有一个应用程序事件 ProjectBeforeTaskChange,可从 ThisAddIn class 获得。我需要的是一个 ProjectAfterTaskChange 事件,但它不存在。有没有办法从应用程序级加载项中侦听项目更改事件?

我的最终目标是在特定文本字段更改时设置三个数字字段。

ProjectBeforeTaskChange 是用于监视字段更改的正确事件。 "Before" 这个词指的是处理程序可以通过将 Cancel 参数设置为 True 来阻止更改。当用户更改任务字段时触发该事件。

这是一个 vb.net 示例,每当 Text1 字段更改时,它都会递增 Number1 和 Number2 字段:

Private Sub Application_ProjectBeforeTaskChange(tsk As MSProject.Task, Field As MSProject.PjField, NewVal As Object, ByRef Cancel As Boolean) Handles Application.ProjectBeforeTaskChange

    If Field = MSProject.PjField.pjTaskText1 Then
        Select Case NewVal
            Case Is = "In-work": tsk.Number1 = 50
            Case Is = "Complete": tsk.Number1 = 100
            Case Else: tsk.Number1 = 0
        End Select
    End If
End Sub

这是 MSDN 页面。

这里 related post 展示了 c# 框架。