【问题标题】:MessageDialog not closing消息对话框未关闭
【发布时间】:2009-10-14 09:16:31
【问题描述】:

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

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

问题是窗口上的“确定”按钮没有做任何事情......只有当我点击右上角的 X 按钮时,窗口才会消失。

有什么想法吗?

【问题讨论】:

    标签: mono dialog gtk#


    【解决方案1】:

    您需要在拨打dialog.Run();之后拨打dialog.Destroy();

    【讨论】:

      【解决方案2】:

      您还可以挂钩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();
      

      【讨论】:

      • 唯一适合我的解决方案。 dlg.Destroy() 甚至阻止对话框出现。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 1970-01-01
      • 2012-02-20
      • 2020-06-02
      • 2021-09-10
      相关资源
      最近更新 更多