【问题标题】:On/Off Darkmode Button [closed]开/关暗模式按钮[关闭]
【发布时间】:2019-12-14 16:17:29
【问题描述】:

我可以点击一次,但之后卡在黑暗模式,我无法切换回来

public static bool i = false;

private void BtnDark_Click(object sender, EventArgs e)
{
    i = true;

    if (i == true) // Darkmode
    {
        //...
        i = false;
    }
    else if (i == false) // Whitemode
    {
        //...
        i = true;
    }
}

【问题讨论】:

  • 您总是在点击处理程序的开头设置i = true;。所以当然它永远不会进入else 部分,因为if 条件始终为真。 (顺便说一句:注意if (i == true)if (i) 相同,if (i == false) 最好写成if (!i)

标签: c# visual-studio switch-statement


【解决方案1】:

这是因为您总是在方法的开头设置i = true。这个变量应该在方法之外定义(你应该给它一个合适的名字)

public static bool i = false;
private void BtnDark_Click(object sender, EventArgs e)
{
    //i = true;  JUST REMOVE THIS LINE
    if (i) // Darkmode
    {
        //...
        i = false;
    }
    else // Whitemode
    {
        //...
        i = true;
    }
}

或者像这样:

if (i = !i)    //assign and compare at the same time
{
    //...
}
else
{
    //...
}

【讨论】:

  • 你在哪里更改i?从这个问题来看,这似乎需要一个切换功能。
  • @panoskarajohn 看看ifelse
  • 哦,好的,我明白了。是的,这也有效。
猜你喜欢
  • 2022-01-23
  • 2021-02-18
  • 2017-05-24
  • 1970-01-01
  • 2019-04-04
  • 2020-10-05
  • 1970-01-01
  • 2021-08-12
  • 1970-01-01
相关资源
最近更新 更多