改变不使用click at事件的动态创建按钮的颜色
本文关键字:动态 创建 按钮 颜色 事件 at click 改变 | 更新日期: 2023-09-27 18:09:30
我已经在我创建的网格布局中添加了按钮。下面是代码:
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)
您可以使用以下内容。
button = this.tableLayoutPanel1.GetControlFromPosition(j, i);
button.BackColor = Color.BLACK;
首先要找到控件有一个叫做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属性。