不使用单击事件更改动态创建按钮的颜色

时间:2014-06-20 15:26:23

标签: c# button dynamic background-color

我已经为我创建的网格布局添加了按钮。这是代码。

        int nodeIndex = 0;

        for (i = 0; i < usedRows; i++)
        {
            for (j = 0; j < cols; j++)
            {
                this.tableLayoutPanel1.Controls.Add(nodes[nodeIndex++], j, i);
            }
        }

稍后在应用程序中,我希望能够更改指定位置的按钮颜色。基本上改变位置i,j处按钮的后圆颜色。我如何才能访问该特定按钮?我正在使用winforms。有什么像

button = this.tableLayoutPanel1.Controls.GetChildAtPosition(j, i)

2 个答案:

答案 0 :(得分:1)

你可以沿着这些方向使用某些东西。

button = this.tableLayoutPanel1.GetControlFromPosition(j, i);
button.BackColor = Color.BLACK; 

答案 1 :(得分:0)

首先,您希望能够找到控件,并且方便地有一个名为FindControl()的方法可以做到这一点

MSDN链接供参考:http://msdn.microsoft.com/en-us/library/system.web.ui.control.findcontrol(v=vs.110).aspx

其次,您希望能够在找到按钮后更改按钮的颜色。

对于按钮,您可能希望使用BackColor属性。

再次MSDN链接供参考: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.backcolor(v=vs.110).aspx

诀窍是找到控件然后使用该控件作为更改颜色的对象。不要忘记,一旦找到它,就可以将控件转换为按钮类型,这样可以访问BackColor属性。