在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
}
}
}
答案 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);
}
}