我已经为我创建的网格布局添加了按钮。这是代码。
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)
答案 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属性。