Mono 消息对话框未关闭
我使用以下代码在应用程序中显示消息对话框:Mono 消息对话框未关闭,mono,dialog,gtk#,Mono,Dialog,Gtk#,我使用以下代码在应用程序中显示消息对话框: MessageDialog dialog = new MessageDialog(null, DialogFlags.Modal, MessageType.Error, ButtonsType.Ok,
MessageDialog dialog = new MessageDialog(null,
DialogFlags.Modal,
MessageType.Error,
ButtonsType.Ok,
"An error occured: " );
dialog.Run();
问题是窗口上的Ok按钮不起任何作用。。。。只有当我按下右上角的X按钮时,窗口才会消失
有什么想法吗?您需要调用
dialog.Destroy()在调用dialog.Run()之后执行code>代码>您还可以挂接响应事件,以获得按钮单击的通知:
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()甚至阻止对话框出现。