private void p01_Click(object sender, EventArgs e)
{
if (p01.Image == pmiss.Image)
{
score++;
makeMoleVisable(1, phit);
}
else
{
score--;
molesmissed++;
}
}
private void p02_Click(object sender, EventArgs e)
{
if (p02.Visible)
{
if (p02.Image == pmiss.Image)
{
score++;
p02.Image = phit.Image;
}
else
{
score--;
molesmissed++;
}
}
}
您好我有36个这些图片框点击事件。我想对所有36个图片框只使用一次点击事件。此外,所有点击事件都做同样的事情,第一个上的代码略有不同。 Thnaks
答案 0 :(得分:3)
只需转到每张图片的events属性,然后设置为p02_Click
或使用您自己的自定义名称。
如果您在一个面板中有所有图片框,则可以尝试:
foreach (Control p in mypanel.ControlCollection)
{
p = p as PictureBox;
p.Click += (p01_Click);
}
您还可以通过为Tag
设置p01
属性并在代码中检查该属性来测试它是否为pictureBox1。
答案 1 :(得分:1)
您可以为每个组图片框重复使用eventhandler方法。方法的sender参数将包含触发事件的对象。