私はこの単純なコードをC#
次のように使用していGTK#
ます:
Main.cs
:
using System;
using Gtk;
namespace Apu{
class MainClass{
public static void Main(string[] args){
Application.Init();
new ShowForm();
Application.Run();
}
}
}
ShowForm.cs
public partial class ShowForm: Gtk.Window{
public ShowForm(): base(Gtk.WindowType.Toplevel){
MessageDialog md = new MessageDialog(
this,
DialogFlags.DestroyWithParent,
MessageType.Error,
ButtonsType.None,
"Test"
);
md.SetPosition(Gtk.WindowPosition.CenterAlways);
md.Title = "Test window";
md.AddButton("Don't stop", ResponseType.Ok);
md.AddButton("Stop", ResponseType.Cancel);
ResponseType result = (ResponseType)md.Run();
if (result.Equals(ResponseType.Cancel)) {
Console.WriteLine("Quit!");
md.DestroyEvent += delegate {
Application.Quit();
};
/*md.DeleteEvent += delegate {
Application.Quit();
};*/
}
md.Destroy();
}
}
コンソールは出力Quit!
しますが、プログラムは終了しません。どちらDestroyEvent
もDeleteEvent
機能しません。誰かが理由を説明できますか?これは私の最初のアプリでc#
、初めて使用しgtk#
ます。IDEとしてmonodevelopを使用しています。
編集
Application.Exit()
エラーが発生します:Gtk.Application does not contain a definition for 'Exit'
。