一旦设置,无法更改Windows窗体中的Label的BackColor

时间:2018-01-30 15:06:19

标签: c# winforms

首先我创建了LightGray块的这个数组,然后是START按钮。所以目的是当我点击START时,所选的区块将变成ForrestGreen:

每个LightGray块存储在一个名为blockLabel的Label数组中。这个blockLabel由面板添加。

enter image description here

这里是处理按钮的代码:

private void btnStart_Click(object sender,EventArgs e) {
        CreateBlock();
}
private void CreateBlock() {
        blockLabel[5,0].BackColor = Color.ForestGreen;
}

blockLabel代码:

blockLabel = new System.Windows.Forms.Label[numCol,numRow];
        // Create many block label
        int i,j;
        for (i = 0; i < numCol; i++) {
            for (j = 0; j < numRow; j++) {
                blockLabel[i,j] = new System.Windows.Forms.Label {
                    Location = new System.Drawing.Point(33*i,33*j),
                    Size = new System.Drawing.Size(30,30),
                    BackColor = Color.LightGray,
                    TabIndex = numCol*i + j
                };
            }
        }
        // World is the panel
        for (i = 0; i < numCol; i++) {
            for (j = 0; j < numRow; j++) {
                World.Controls.Add(blockLabel[i,j]);
            }
        }

我由Designer添加的World面板

当我点击开始时似乎没有任何事情发生。有任何帮助吗?

1 个答案:

答案 0 :(得分:2)

问题是您的按钮控件未连接到您定义的单击事件。您可以通过选择按钮通过设计人员执行此操作,然后在INSERT INTO TABLE_2 (name) SELECT t1.name FROM TABLE_1 t1 GROUP BY t1.name 窗口中,单击Properties图标(闪电),然后向下滚动到Event事件,并选择您的下拉列表中的方法:

enter image description here

如果您是以编程方式添加按钮,那么您只需将事件处理程序添加到click事件中,如下所示:

Click