代码之家  ›  专栏  ›  技术社区  ›  Nuno Furtado

消息对话框未关闭

  •  2
  • Nuno Furtado  · 技术社区  · 16 年前

    我使用以下代码在应用程序中显示消息对话框:

    MessageDialog dialog = new MessageDialog(null,
                                             DialogFlags.Modal,
                                             MessageType.Error, 
                                             ButtonsType.Ok,
                                             "An error occured: " );
    dialog.Run();
    

    问题是窗口上的Ok按钮不起任何作用。。。。只有当我按下右上角的X按钮时,窗口才会消失。

    2 回复  |  直到 16 年前
        1
  •  7
  •   Isaiah    16 年前

    你需要打电话 dialog.Destroy(); 在你打电话给 dialog.Run();

        2
  •  1
  •   mbursill    10 年前

    你也可以勾住 Response

        var dialog = new MessageDialog (this,
                                        DialogFlags.Modal, 
                                        MessageType.Info, 
                                        ButtonsType.YesNo, 
                                        "The Hulk could totally take Super Man");
        dialog.Response += (object o, ResponseArgs args) => {
            if (args.ResponseId == ResponseType.Yes) {
                Console.WriteLine("Yes clicked");
            } else if (args.ResponseId == ResponseType.No) {
                Console.WriteLine("No clicked");
            } else if (args.ResponseId == ResponseType.DeleteEvent) {
                Console.WriteLine("Dialog closed without clicking a button");
            }
            dialog.Destroy();
        };
    
        dialog.Run();
    
    推荐文章