将图片框数组分配给事件



我有一堆这样的图片框:

PictureBox[] pb = new PictureBox[71]
{
pictureBox1,pictureBox2,pictureBox3,...etc
};

并且我知道如何将事件分配给单个对象,

private void pictureBox1_MouseHover(object sender, EventArgs e)
{
    pictureBox1.BackColor = Color.Red;
}

但是如何将这个数组分配给 1 个事件处理程序,最终结果应该是当我将 71 个框中的 1 个悬停在 .backColor 属性上时,而不是为每个图片框创建 71 个处理程序。

订阅事件处理程序,如下所示:

foreach (var p in pb)
{
    p.MouseHover += new EventHandler(pictureBox1_MouseHover);
}

并按如下方式设置BackColor

private void pictureBox1_MouseHover(object sender, EventArgs e)
{
    ((PictureBox)sender).BackColor = Color.Red;
}

sender是触发事件的实际图片框。

相关内容

  • 没有找到相关文章

最新更新