【发布时间】:2018-07-19 02:13:55
【问题描述】:
我的外接程序有一个应用程序事件 ProjectBeforeTaskChange,可从 ThisAddIn 类获得。我需要的是一个 ProjectAfterTaskChange 事件,但这不存在。有没有办法从应用程序级加载项监听 Project Change 事件?
我的最终目标是在特定文本字段更改时设置三个数字字段。
【问题讨论】:
标签: vsto ms-project
我的外接程序有一个应用程序事件 ProjectBeforeTaskChange,可从 ThisAddIn 类获得。我需要的是一个 ProjectAfterTaskChange 事件,但这不存在。有没有办法从应用程序级加载项监听 Project Change 事件?
我的最终目标是在特定文本字段更改时设置三个数字字段。
【问题讨论】:
标签: vsto ms-project
ProjectBeforeTaskChange 是用于监视字段更改的正确事件。 “之前”一词是指处理程序可以通过将 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# 框架。
【讨论】: