我是编程和编写代码的新手。 我有一个非常简单的形式与6个按钮。 当我点击每个按钮时,只有发件人的文字有洋红色。 但Button3做了进一步的工作,并打开一个“你好”的messageBox。 问题是当我点击Button3时,它显示“hello”字符串4次。为什么? 我想,并期望它只显示一次不再。为什么在此代码中多次运行MessageBox?
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Typhok(object sender, EventArgs e)
{
foreach (Control x in this.Controls)
{
if (x.Equals(sender))
x.ForeColor = Color.Magenta;
else
x.ForeColor = Color.Black;
}
b3.Click += new EventHandler(Popup);
}
private void Popup(object sender, EventArgs e)
{
MessageBox.Show("hello!");
}
}
更新:任何人都可以向我解释为什么原始代码有这个问题?
何时调用Typhok?看起来像另一个事件处理程序。每次被称为'Popup'的时候都会被重新注册。 –