C# 设置后无法更改Windows窗体中标签的背景色
首先,我创建了这个LightGray块数组,并单击“开始”按钮。因此,当我单击“开始”时,所选块将变为绿色: 每个浅灰色块都存储在名为blockLabel的标签数组中。此块标签由面板添加 下面是处理按钮的代码:C# 设置后无法更改Windows窗体中标签的背景色,c#,winforms,C#,Winforms,首先,我创建了这个LightGray块数组,并单击“开始”按钮。因此,当我单击“开始”时,所选块将变为绿色: 每个浅灰色块都存储在名为blockLabel的标签数组中。此块标签由面板添加 下面是处理按钮的代码: private void btnStart_Click(object sender,EventArgs e) { CreateBlock(); } private void CreateBlock() { blockLabel[5,0].BackColo
private void btnStart_Click(object sender,EventArgs e) {
CreateBlock();
}
private void CreateBlock() {
blockLabel[5,0].BackColor = Color.ForestGreen;
}
区块标签代码:
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]);
}
}
blockLabel=newsystem.Windows.Forms.Label[numCol,numRow];
//创建多个块标签
int i,j;
对于(i=0;i
设计师添加的世界面板
当我单击“开始”时,似乎什么都没有发生。有什么帮助吗?问题是您的按钮控件没有连接到您定义的单击事件。您可以通过设计器选择按钮来执行此操作,然后在
属性
窗口中,单击事件
图标(闪电),然后向下滚动到单击事件,并从下拉列表中选择您的方法:
如果以编程方式添加按钮,则只需将事件处理程序添加到click事件,如下所示:
Button btnStart = new Button();
btnStart.Click += btnStart_Click; // This adds your event hander code to the click event
Controls.Add(btnStart);
问题是您的按钮控件没有连接到您定义的单击事件。您可以通过设计器选择按钮来执行此操作,然后在属性
窗口中,单击事件
图标(闪电),然后向下滚动到单击事件,并从下拉列表中选择您的方法:
如果以编程方式添加按钮,则只需将事件处理程序添加到click事件,如下所示:
Button btnStart = new Button();
btnStart.Click += btnStart_Click; // This adds your event hander code to the click event
Controls.Add(btnStart);
您是如何制作区块标签的?这里没有足够的代码来重现问题…显示您创建区块标签数组的代码。btnStart是否连接到Click事件处理程序?请编辑您的问题以将额外信息放入其中,而不是添加注释。您是如何制作区块标签的?此处没有足够的代码来重现此问题…显示您创建区块标签数组的代码。btnStart是否连接到单击事件处理程序?请编辑您的问题以将额外信息放入其中,而不是添加注释。这是正确的,然而,OP是以编程方式创建这些元素的-您能否添加一个示例,说明他如何在代码中实现这些元素?这是正确的,但是OP是以编程方式创建这些元素的-您能否添加一个示例,说明他如何在代码中实现这些元素?