c#按钮第二次单击,获取True,False的简单方法?
c# Button clicked second time, simpel way to get True, False?
我有一个按钮及其功能。当用户按下按钮时,一行文本框将其背景颜色更改为灰色。当用户再次按下按钮时,线条变回白色。但是我的解决方案太复杂了,我认为有一种更舒适的方法可以做到这一点。
这是我的代码:
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。第 3 次为真,依此类推...
有什么想法吗?
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;
}
您正在编写大量冗余代码,例如将布尔值与真值进行比较。 CheckTitelStatus
return 的结果是一个布尔值,而 if
语句需要一个布尔值,因此您可以只使用 CheckTitelStatus
的 return 值。此外,在您的 CheckTitelStatus
中,您可以只检查 BackColor 当前是否为 LightGray,而不是检查每种颜色。
我有一个按钮及其功能。当用户按下按钮时,一行文本框将其背景颜色更改为灰色。当用户再次按下按钮时,线条变回白色。但是我的解决方案太复杂了,我认为有一种更舒适的方法可以做到这一点。 这是我的代码:
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。第 3 次为真,依此类推...
有什么想法吗?
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;
}
您正在编写大量冗余代码,例如将布尔值与真值进行比较。 CheckTitelStatus
return 的结果是一个布尔值,而 if
语句需要一个布尔值,因此您可以只使用 CheckTitelStatus
的 return 值。此外,在您的 CheckTitelStatus
中,您可以只检查 BackColor 当前是否为 LightGray,而不是检查每种颜色。