我是一位新手程序员,他在C#中的MonoDevelop中编写了一个程序,并且带有我的gtk MessageDialogs。C#/ MonoDevelop:GTK MessageDialogs需要双击才能关闭 - 为什么?
我的GTK消息对话窗口边框上的关闭按钮需要双击才能真正关闭它们。对话框上的关闭按钮可以正常工作。可能有人请告诉我,我怎么能这样修正以下是代码:
if (fchDestination.CurrentFolder == fchTarget.CurrentFolder) {
MessageDialog msdSame = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "Destination directory cannot be the same as the target directory");
msdSame.Title="Error";
if ((ResponseType) msdSame.Run() == ResponseType.Close) {
msdSame.Destroy();
}
return;
}
if (fchTarget.CurrentFolder.StartsWith(fchDestination.CurrentFolder)) {
MessageDialog msdContains = new MessageDialog(this, DialogFlags.Modal, MessageType.Error, ButtonsType.Close, "error");
msdContains.Title="Error";
if ((ResponseType) msdContains.Run() == ResponseType.Close) {
msdContains.Destroy();
}
return;
}
同意解释,但你不需要检查任何'ResponseType',因为用户的唯一选择是“Cl OSE”。只需调用'Run()'然后'Destroy()'。 – ptomato 2010-04-07 08:01:40
我尝试了下面的代码,但仍然得到错误:s我在哪里出错了?感谢您的帮助:) \t \t \t \t MessageDialog msdSame = new MessageDialog(this,DialogFlags.Modal,MessageType.Error,ButtonsType.Close,“你不能同步两个相同的文件夹”); \t \t \t msdSame.Title =“Error”; \t \t \t //如果用户点击关闭,然后关闭消息框 \t \t \t如果((的responseType)msdSame.Run()== ResponseType.Close ||(的responseType)msdSame.Run()== ResponseType.DeleteEvent){ \t \t \t \t msdSame.Destroy(); \t \t \t} – Connel 2010-04-07 23:40:39
嗨ptomato抱歉,没有看到您的评论!我有点新编程:我需要调用run()并在代码中销毁吗?谢谢 – Connel 2010-04-07 23:43:52