Hello,
I created simple Windows Forms app in C#.
Why is it not possible to remove from the clickMeButton1.Click event?
I expected ClickMeButton1_Click method executed one time because I detach method from event with clickMeButton1.Click -= ClickMeButton1_Click;
The whole project in OneDrive:
https://1drv.ms/u/s!AiKKqJaRZheDognJPo0Ih379wgBQ?e=9qDZVY
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
clickMeButton1.Click += ClickMeButton1_Click; //execute
clickMeButton1.Click += ClickMeButton1_Click; // execute
clickMeButton1.Click += ClickMeButton1_Click; // execute
}
private void ClickMeButton1_Click(object? sender, EventArgs e)
{
MessageBox.Show("Hi!"); //executed 3 times
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
clickMeButton1.Click -= ClickMeButton1_Click;
MessageBox.Show("Bye!"); //executed 3 times
}
}
}