我需要做什么才能从方法中更改按钮图像?

时间:2015-10-28 13:56:57

标签: c# winforms

我使用这个:如果thisbid(int)等于buildingid1,那么thisb是brick1的控件(这是按钮)。然后我需要改变按钮的图片,但是用这个,因为我有30多张照片,所以我不想把时间花在我身上。

这就是我试图做的事情:

public void Get_Block_Images()
{
    if (thisbid == buildingid[1])
    {
        var thisb = this.Controls.Find("brick1", true);
    }
    else if (thisbid == buildingid[2])
    {
        var thisb = this.Controls.Find("brick2", true);
    }

    switch (thisbid)
    {
        case 1:
        {
            thisb.Image = brick_def_1;
            break;
        }
        case 2:
        {
            thisb.Image = brick_def_white;
            break;
        }
        case 3:
        {
            thisb.Image = brick_stan_nature;
            break;
        }
        case 4:
        {
            thisb.Image = brick_stan_pixel;
            break;
        }
        case 5:
        {
            thisb.Image = brick_stan_black_gold;
            break;
        }
        //etc...

1 个答案:

答案 0 :(得分:0)

简而言之,您需要移动thisb变量,使其与switch语句在同一范围内。例如,您需要执行以下操作:将此行放在if语句上方:

var thisb = new Button();

请注意,检查if语句和switch语句中的thisbid。为什么不把它们合并在一起?