检查对话框是否打开
在执行某些操作之前跟踪某对话框是否打开是有用的。例如:
-
对话框不需要刷新,但网格显示需要刷新。
-
对话框打开时,某些工作流事件是不受允许的。
DialogBox 事件可用于跟踪对话框的可见性。
建议
为避免不可预知的结果,在任何事件发生之前,应确定对话框是否打开。
以下示例检查用于新建缺陷的对话框是否打开。这是有关系的,因为只能修改新缺陷的 BG_USER_01 字段。如果打开其他对话框,如用于编辑缺陷的对话框,则不能修改 BG_USER_01 字段。
示例:
' Declare a global variable for each dialog box of interest Dim NewDefectDialogIsOpen ' Initialize the global variable NewDefectDialogIsOpen = False Sub DialogBox(DialogBoxName, IsOpen) If DialogBoxName="New Bug" Then NewDefectDialogIsOpen = True Else NewDefectDialogIsOpen = False End If End Sub Function Bug_FieldCanChange(FieldName, NewValue) ' Initialize the function's return value to avoid ' unpredictable behavior. Bug_FieldCanChange = True ' The BG_USER_01 field can only be modified for a new defect. If FieldName="BG_USER_01" Then If NewDefectDialogIsOpen Then Bug_FieldCanChange = True Else Bug_FieldCanChange = False End If End If End Function

