c#按钮第二次点击,简单的方式得到真,假?



我有一个按钮和它的函数。当用户按下按钮时,一行文本框会将其背景色更改为灰色。当用户再次按下按钮时,该行将变回白色。但我的解决方案是复杂的,我认为有一种更舒适的方法来做到这一点。 这是我的代码:

private void btnTitelRow2_Click(object sender, EventArgs e)
{
bool isTitel = true;
bool checkStatus = CheckTitelStatus(row: 1);
if (checkStatus == true)
{
isTitel = false;
}
fncLOITitelrow(row: 1, isTitel: isTitel);
}

public bool CheckTitelStatus(int row)
{
bool labelStatus = false;
Color dimgray = System.Drawing.Color.LightGray;
Color white = System.Drawing.Color.White;
Label[] Titelbl = getLOILabelTitel();
if (Titelbl[row].BackColor == white)
{
labelStatus = false;
return labelStatus;
}
if (Titelbl[row].BackColor == dimgray)
{
labelStatus = true;
return labelStatus;
}
else
{ return labelStatus; }

函数 LOITitelrow 是更改文本框行颜色的函数。 我认为我需要的是一种简单的方法,在第一次点击按钮时给我一个 true,在第二次按下按钮时给我一个 false。第三次真等等...

有什么想法吗?

private void btnTitelRow2_Click(object sender, EventArgs e)
{
const int row = 1;
fncLOITitelrow(row, CheckTitelStatus(row));
}
public bool CheckTitelStatus(int row)
{
Label[] Titelbl = getLOILabelTitel();
return Titelbl[row].BackColor == System.Drawing.Color.LightGray;
}

您正在编写大量冗余代码,例如将布尔值与 true 进行比较。CheckTitelStatus的结果返回一个布尔值,而if语句需要一个布尔值,因此您可以只使用CheckTitelStatus的返回值。此外,在您的CheckTitelStatus中,您可以只检查背景色当前是否为浅灰色,而不是检查每种颜色。

最新更新