C#中断/停止ToolClick事件

时间:2012-08-17 17:03:27

标签: c# winforms toolbar

在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
             }
      }
}

2 个答案:

答案 0 :(得分:1)

从哪里调用Save方法?为什么不将if (tbxJob == "")检查添加到Save方法?或者可能检查一下是否取消保存操作的布尔值?

我不相信你可以在你发布的取消操作的方法中加入任何东西,你必须在调用Save之前进行取消检查,或者把它放在Save方法本身。

答案 1 :(得分: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);
    }
}