Как же создаются события в языке программирования C#? Этот вопрос будем рассматривать с точки зрения написания событий вручную без использования автоматизированных средств IDE, где всё можно создать в графическом интерфейсе за пару кликов мышью.
Для событий используется класс EventHandler
из пространства имён System
. Добавление слушателей событий SelectionChanged
и TextChanged
для RichTextBox1
контрола:
this.richTextBox1.SelectionChanged += new System.EventHandler(this.richTextBox1_SelectionChanged); this.richTextBox1.TextChanged += new System.EventHandler(this.richTextBox1_TextChanged);
После этого останется только определить методы richTextBox1_SelectionChanged
и richTextBox1_TextChanged
, которые будут вызываться при случившемся конкретном событии.
Определим универсальную функция навешивания события MouseDoubleClick
для любых переданных контролов:
public void hangEvent(Control control) { control.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(MouseDoubleClickEvent); }
Определим метод MouseDoubleClickEvent
, который вызывается при событии MouseDoubleClick
:
public void MouseDoubleClickEvent(object sender, MouseEventArgs e) {}
Или так:
public void MouseDoubleClickEvent(object sender, EventArgs e) {}
При помощи определённого ранее общего метода hangEvent
«навесим события», а вернее добавим слушателей событий MouseDoubleClick
на richTextBox1
и richTextBox2
контролы:
hangEvent(richTextBox1); hangEvent(richTextBox2);
Вот так просто добавлять слушателей событий для любых контролов в C# Windows Forms.