using Gtk; using System; class SharpApp : Window { Button b; public SharpApp() : base("Відключити / Підключити") { SetDefaultSize(350, 50); SetPosition(WindowPosition.Center); DeleteEvent += delegate {Application.Quit();}; b = new Button("Кнопка"); CheckButton cb = new CheckButton("Підключити"); cb.Toggled += OnToggled; // Вказано обробник події зміни стану прапорця Fixed f = new Fixed(); // Контейнер для розташування за координатами // верхнього лівого кута об'єкта f.Put(b, 10, 10); // Вкладення кнопки у контейнер f.Put(cb,150, 10); // Вкладення прапорця у контейнер Add(f); // Додавання контейнера у вікно ShowAll(); // Додавання контейнера у вікно } void OnClick (object sender, EventArgs args) {Console.WriteLine("Натиснуто");} void OnToggled(object sender, EventArgs args) { CheckButton cb = (CheckButton) sender; if (cb.Active) {b.Clicked += OnClick;} else {b.Clicked -= OnClick;} } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } }