【问题标题】:Overriding GTK Window Close Event to Show a Message覆盖 GTK 窗口关闭事件以显示消息
【发布时间】:2015-10-21 02:01:42
【问题描述】:

我正在尝试覆盖 Gtk.Window 关闭事件,以便在设置了某个布尔值时向用户显示对话框。尽管布尔值为真,但我的应用程序退出而不显示对话框。我尝试打印出布尔值。是正确的。

protected void OnDeleteEvent (object sender, DeleteEventArgs a)
    {
            Console.WriteLine (bval);
            if (bval == true) { 

                mynot notification=new mynot(this); 
                notification.Show (); 

            }
            else
            {
                Gtk.Application.Quit ();
                a.RetVal = true;
            }
    }

【问题讨论】:

    标签: c# xamarin mono gtk gtk#


    【解决方案1】:

    信号处理程序返回值在 if-case 中应该为真(以阻止调用默认处理程序)。在其他情况下,您可能应该只返回 false 以允许默认处理程序运行而不是自己调用 Quit()。

    【讨论】:

    • 谢谢..我今天无法访问Mac系统,明天再看看。
    • 我不能返回 false,因为该方法是 void 返回类型。但是通过将 a.RetVal = true 放在 if 情况下,它起作用了。谢谢
    • 这在 Xamarin Studio 内部运行时有效。但是在应用程序外部运行时,它会在达到 if 条件时关闭。可能出了什么问题?请咨询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多