改变不使用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)

改变不使用click at事件的动态创建按钮的颜色

您可以使用以下内容。

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属性。