dotnet new console
dotnet add package GtkSharp
dotnet run
using Gtk; class Program { public static void Main() { Application.Init(); new FirstWindow(); Application.Run(); } public static void Quit() { Application.Quit(); } }
using Gtk; class FirstWindow : Window { public FirstWindow() : base("Test") { SetDefaultSize(600, 600); SetPosition(WindowPosition.Center); DeleteEvent += delegate { Program.Quit(); }; VBox vBox = new VBox(); Add(vBox); AddButton(vBox, "Діалогове інформаційне повідомлення", OnOpenInfo); AddButton(vBox, "Діалогове повідомлення про помилку", OnOpenError); AddButton(vBox, "Діалогове повідомлення підтвердження", OnOpenRequest); ShowAll(); } void AddButton(VBox vBox, string caption, EventHandler eventHandler) { HBox hBox = new HBox(); vBox.PackStart(hBox, false, false, 5); Button button = new Button(caption); button.Clicked += eventHandler; hBox.PackStart(button, false, false, 5); } void OnOpenInfo(object? sender, EventArgs args) { Message.Info(this, "Текст повідомлення"); } void OnOpenError(object? sender, EventArgs args) { Message.Error(this, "Текст повідомлення"); } void OnOpenRequest(object? sender, EventArgs args) { if (Message.Request(this, "Текст повідомлення") == ResponseType.Yes) { } } }
using Gtk; class Message { public static void Info(Window? pwin, string message) { MessageDialog md = new MessageDialog(pwin, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, message) { WindowPosition = WindowPosition.Center }; md.Run(); md.Dispose(); md.Destroy(); } public static void Error(Window? pwin, string message) { MessageDialog md = new MessageDialog(pwin, DialogFlags.DestroyWithParent, MessageType.Warning, ButtonsType.Close, message) { WindowPosition = WindowPosition.Center }; md.Run(); md.Dispose(); md.Destroy(); } public static ResponseType Request(Window? pwin, string message) { MessageDialog md = new MessageDialog(pwin, DialogFlags.DestroyWithParent, MessageType.Question, ButtonsType.YesNo, message); ResponseType response = (ResponseType)md.Run(); md.Dispose(); md.Destroy(); return response; } }
© accounting.org.ua - 2024