Итак, нам нужно научиться обрабатывать сообщений от элемента управления. Мы будет делать это внутри класса элемента. То есть класс элемента будет сам реагировать на сообщения. Пишем код:
using System; using System.Windows.Forms; using System.Drawing; class MyForm : AppForm { public static void Main() { Application.Run(new MyForm()); } } class AppForm : Form { public AppForm() { MainMenu mnuFileMenu = new MainMenu(); this.Menu = mnuFileMenu; mnuFileMenu.MenuItems.Add("Test"); MyLabel label1 = new MyLabel(); label1.Text = "Firs Step Site"; label1.Location = new Point(15,15); label1.BackColor = Color.Pink; label1.ForeColor = Color.Maroon; this.Controls.Add(label1); } } class MyLabel : Label { protected override void OnMouseDown(MouseEventArgs e) { MessageBox.Show("You clicked on Label","First Step Site"); } }
Как видите методика простая. В самом классе Label есть методы которые вызываются при наступлении сообщения. Нам нужно просто их перегрузить. Мы создали свой класс как наследник от Label. Перегрузили метод OnMouseDown, а на форме создали уже элемент управления на основе нашего класса.
MyLabel label1 = new MyLabel();
Вот и все. Осталось только запустить и проверить.