比较Winform按钮颜色

3

我的表单中有四个按钮,其中btn2、btn3和btn4三个按钮的颜色相同。

当点击btn1时,它会检查btn2、btn3和btn4的颜色是否相同,而不需要明确说明要比较哪种颜色。但是我的条件似乎不对,我应该说明吗?

我正在使用的代码是:

private void btn1_Click(object sender, EventArgs e)
{
    if (btn2.BackColor.Equals((btn3.BackColor) && (btn4.BackColor)))
       {
         MessageBox.Show("ALL BUTTONS ARE OF SAME COLOR");
       } 
}

你正在测试btn3和btn4的逻辑运算[它们可能被隐式转换为32位整数],然后将结果与btn2的相等性进行测试,我认为这样做是行不通的。如果你真的想要测试btn2是否等于3,那么再测试一次btn2是否等于btn4。不过我团队有一个规则,不要将UI用作模型。 - Adam Straughan
我已经编辑了你的标题。请参考“问题的标题应该包含“标签”吗?”,在那里达成共识是“不应该”。 - John Saunders
1个回答

3

使用此代码比较颜色:

        if (btn2.BackColor == btn3.BackColor && btn3.BackColor == btn4.BackColor)
        {
            MessageBox.Show("ALL BUTTONS ARE THE SAME COLOR");
        }
        else
        {
            MessageBox.Show("ALL BUTTONS ARE NOT THE SAME COLOR");
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接