1

在 C# 表单上,当用户从工具菜单中选择保存时,我需要运行一系列检查。如果其中一项检查失败,则需要停止保存过程。这是当前代码:

private static void baseToolbarsManager_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs args)
{
     if (args.Tool.Key == "SaveTool")
     {
             if (tbxJob == "")
             {
                  MessageBox.Show("Error: No job was entered");
                  //Stop the save event from happening here
             }
      }
}
4

2 回答 2

1

您的 Save 方法是从哪里调用的?为什么不直接将if (tbxJob == "")检查添加到 Save 方法?或者也许让它检查一些布尔值是否取消保存操作?

我不相信您可以在发布的方法中添加任何内容来取消操作,您必须在调用 Save 之前进行取消检查,或者将其放在 Save 方法本身中。

于 2012-08-17T17:27:14.200 回答
1

如果我理解你需要阻止一个事件被调用。因此,解决方案可以继承该控制类并覆盖该OnToolClick()方法:

private override void OnToolClick(ToolClickEventArgs e){
    if (e.Tool.Key == "SaveTool"){
         if (tbxJob == "")
             MessageBox.Show("Error: No job was entered");
             //Stop the save event from happening here
         else
             base.OnToolClick(e);
    }
}
于 2012-08-17T19:07:45.470 回答