更改所有正在运行的表单的图标

时间:2013-11-25 01:52:01

标签: c# winforms icons

我有3个表格,其中一个有一个按钮,可以改变我所有正在运行的表格的图标。

我无法弄清楚如何更改其他两个表单上的图标,我已经设法只在一个表单(按钮所在的位置)上执行此操作。

我试过这种方式:

private void button2_Click(object sender, EventArgs e)
    {
        this.Icon = Properties.Resources.Purple;
        Form1 f1 = new Form1();
        Form f2 = new Form2();
        f1.Icon = Properties.Resources.Purple;
        f2.Icon = Properties.Resources.Purple;
    }

......但没有成功。

基本上,我现在被困在这里,因为上面的代码对我不起作用:

private void button2_Click(object sender, EventArgs e)
    {
        this.Icon = Properties.Resources.Purple;
    }

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您应该可以使用OpenForms类中的Application集合来迭代所有打开的表单并设置Icon

示例:

foreach (var form in Application.OpenForms.Cast<Form>())
{
    form.Icon = Properties.Resources.Purple; 
}