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 に答える