using Gtk; using System; class SharpApp : Window { EventBox e; // Контейнер, що має колір тла Label l; // Напис з повідомленням про розташування вказівника миші public SharpApp() : base("Enter / Leave") { SetDefaultSize(230, 80); SetPosition(WindowPosition.Center); DeleteEvent += delegate {Application.Quit();}; l = new Label ("Вказівник поза написом"); e = new EventBox(); e.Child = l; // Вкладення напису у контейнер // Обробники подій: e.EnterNotifyEvent += OnEnter; // входження в контейнер е вказівника миші e.LeaveNotifyEvent += OnLeave; // виходу з контейнера вказівника миші e.ModifyBg(StateType.Normal, new Gdk.Color(255,255,200)); // Світложовте тло (спочатку) Fixed fix = new Fixed(); // Контейнер для розташування за координатами // верхнього лівого кута об'єкта fix.Put(e, 10, 10); // Вкладення у контейнер f Add(fix); // Додавання контейнера f у вікно ShowAll(); // Показ усіх елементів вікна } void OnEnter(object sender, EnterNotifyEventArgs args) { l.Text = "Вказівник над написом"; e.ModifyBg(StateType.Normal, new Gdk.Color(200,255,200)); // Салатове тло } void OnLeave(object sender, LeaveNotifyEventArgs args) { l.Text = "Вказівник поза написом"; e.ModifyBg(StateType.Normal, new Gdk.Color(255,200,200)); // Рожеве тло } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } }