我有一个自定义GTK窗口。我试图通过简单地向DeleteEvent事件添加一个事件处理程序,使用MonoDevelop或“手动”挂钩到DeleteEvent。
但是,当我点击窗口右上角的“X”按钮时,事件不会触发(关闭按钮,如果你愿意的话)。
为什么呢?这对我来说毫无意义。
答案 0 :(得分:2)
事实证明,在事件发生之前,我正在处理窗口实例。
如果我不得不用一个词来形容GTK,那就是“ 不明确 ”。
就我个人而言,当一个事件被假定为对已处置的对象触发时,我希望抛出异常。同样地,我希望窗口在处理时被隐藏(或销毁)。情况都不是这样。
经验教训。