3

如何在 C# 中创建执行以下操作的程序: 1. 创建一个带有按钮和标签的 WindowsForm 2. 当按下按钮时,标签应从“False”变为“True”,反之亦然

我希望根据布尔变量的状态显示标签的消息。

bool Light1 = false;

当我按下按钮时,我想Light1变成 True,如果我再次按下它应该变成 False。

标签显示TrueFalse消息,具体取决于Light1;

我面临的问题是根据Light1. 当我按下按钮时执行的代码是:

private void button1_Click(object sender, EventArgs e)
{
    if (parametri.Light1 == false)
    {
        parametri.Light1 = true;
    }
    else
    {
        parametri.Light1 = false;
    }
}

parametri是一个包含一个Light1初始化为 False 的公共 bool 变量的类。

如果有人能向我解释如何在标签和 Light1 变量之间建立联系,我将不胜感激。

4

2 回答 2

4
private void button1_Click(object sender, EventArgs e)
{
    // No need of IF Statements to reverse a Boolean
    parametri.Light1 = !parametri.Light1;
    label1.Text = parametri.Light1.ToString();
}

如果您希望第一个字母为大写(True、False),只需执行以下操作:

private void button1_Click(object sender, EventArgs e)
{
    // No need of IF Statements to reverse a Boolean
    parametri.Light1 = !parametri.Light1;

    Char[] characters = parametri.Light1.ToString().ToCharArray();
    characters[0] = Char.ToUpper(characters[0]);

    label1.Text = new String(characters);
}
于 2013-01-18T18:34:04.037 回答
2

Text您可以通过属性在标签中设置布尔值:

private void button1_Click(object sender, EventArgs e)
{
    // invert the bool value with the not operator. In C# is equals Java "!"
    parametri.Light1 == !parametri.Light1;

    // print the bool value in your label.
    Label1.Text = parametri.Light1.ToString();
}
于 2013-01-18T18:38:11.660 回答