2 回答

TA貢獻1793條經驗 獲得超6個贊
當您想在某些 cklicked 狀態和未單擊狀態之間切換時,您需要class中的成員,而不是僅存在于方法中的變量:
class MyClass
{
bool foo;
private void button1_Click(object sender, EventArgs e)
{
if (this.foo)
{
label1.Text = "GOOD";
this.foo=false;
}
else
{
label1.Text = "BAD";
this.foo = true;
}
}
}
另請注意,我省略了 ,else if因為 bool 只能有兩種狀態:true或false. 第三種情況是沒有辦法的。因此,與第一個條件不匹配的所有內容都會自動匹配第二個條件,您無需(再次)測試布爾值。

TA貢獻1799條經驗 獲得超9個贊
如果你想將label1.Textfrom切換GOOD到BAD你可以嘗試一個簡單的 turnary 運算符:
private void button1_Click(object sender, EventArgs e)
{
label1.Text = string.Equals("GOOD", label1.Text, StringComparison.OrdinalIgnoreCase)
? "BAD"
: "GOOD";
}
如果您想要更詳細的解決方案,讓我們提取一個屬性,例如:
public bool IsGood {
get {
// Simplest implementation; often adding a backing field is a good idea
return label1.Text = string
.Equals("GOOD", label1.Text, StringComparison.OrdinalIgnoreCase);
}
set {
label1.Text = value ? "GOOD" : "BAD";
}
}
然后點擊事件
private void button1_Click(object sender, EventArgs e) {
IsGood = !IsGood;
}
- 2 回答
- 0 關注
- 92 瀏覽
添加回答
舉報