【发布时间】:2015-01-26 14:38:16
【问题描述】:
我正在使用 Visual C# 2010
我有一个包含大约 24 个按钮和一个“完成”按钮的 Windows 窗体
目前“完成”按钮是红色的。单击所有其他按钮后,我希望此按钮的颜色变为绿色。
当用户点击按钮 1 -24 那个按钮变为绿色,所以我知道如何改变点击事件的背景。
当每个按钮被点击时,我都有一个布尔值。
这是我目前的代码:
if (button1Clicked && button2Clicked ...) // I have button3 through button24 as well
{
finishButton.BackColor = Color.Green;
}
但是,当所有 24 个按钮都被单击时,该按钮仍保持红色。 我已将 button1 的输出发送到调试写入行,并且我知道单击按钮时布尔值从 false 变为 true。 我已经在修饰符选项中公开了完成按钮。
我错过了一步吗?我认为这应该很容易实现。
编辑
public partial class Form2 : Form
{
public bool button1Clicked = false;
.... // and other buttons are allocated the same way
}
private void button1_Click(object sender, EventArgs e)
{
String textForClipboard = String.Format("{0}_S1_{1}", Form1.dateValue, button1.Text);
Clipboard.SetText(textForClipboard);
button1.BackColor = Color.Green;
button1Clicked = true;
System.Diagnostics.Debug.WriteLine(button1Clicked);
}
编辑
我应该在哪里设置 if 循环? 我目前有这个方法
namespace WindowsFormsApplication1
{
public partial class Form2 : Form
{
....
public Form2(Form parentForm)
{
InitializeComponent();
mainForm = parentform;
....
if (button1Clicked)
{
finishedButton.BackColor = Color.Green;
}
}
}
}
【问题讨论】:
-
你能不能也显示给
button1Clicked赋值的代码? -
@globetrotter 代码添加
-
我指的是
button1Clicked变成true -
==用于检查值,=用于分配值。试试finishButton.BackColor = Color.Green; -
所有按钮的名称(不是它们的文本)
button1到button24?
标签: c# winforms button background-color