using Gtk; using System; class SharpApp : Window { private int count = 2; private ToolButton undo; private ToolButton redo; public SharpApp() : base("Скасувати / поворити") { SetDefaultSize(300, 100); SetPosition(WindowPosition.Center); DeleteEvent += delegate {Application.Quit();}; Toolbar toolbar = new Toolbar(); // Створення панелі інструментів toolbar.ToolbarStyle = ToolbarStyle.Icons;// Стиль панелі інструментів - Icons - значки // Кнопки інструментів: undo = new ToolButton(Stock.Undo);// Скасувати redo = new ToolButton(Stock.Redo);// Повторити // Додавання на панель інструментів кнопок інструментів: toolbar.Insert(undo, 0); // Скасувати toolbar.Insert(redo, 1); // Повторити // Обробник події клацання кнопки undo.Clicked += OnUndo; // Скасувати redo.Clicked += OnRedo; // Повторити VBox vbox = new VBox(false, 2); // Вертикальний контейнер vbox.PackStart(toolbar, false, false, 0); // Вкладення у вертикальний контейнер панелі інструментів Add(vbox); // Вкладення вертикального контейнера у вікно ShowAll(); // Показ усіх елементів вікна } void OnUndo(object sender, EventArgs args) { count -= 1; if (count <= 0) { undo.Sensitive = false; redo.Sensitive = true; } } void OnRedo(object sender, EventArgs args) { count += 1; if (count >= 5) { redo.Sensitive = false; undo.Sensitive = true; } } void OnClicked(object sender, EventArgs args) { Application.Quit(); } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } }