我目前正在追蹤頭一個C#,但每隔一段時間我都會自己玩。我遇到了一個我無法解決的情況。我想從MediumBlue更改this.BackColor
以逐步執行綠色0 - 255,並使用按鈕I/O返回控制檯。問題是我無法讓顏色停止步進並返回到MediumBlue。將Windows窗體顏色從一個改爲另一個
private void btnClr_Click(object sender, EventArgs e)
{
int fClr = 0;
while (Visible)
{
if (fClr == 0)
{
fClr++;
for (int nBackClr = 0; nBackClr < 255 && Visible; nBackClr++)
{
this.BackColor = Color.FromArgb(nBackClr, 255 - nBackClr, nBackClr);
Application.DoEvents();
Thread.Sleep(2);
}
for (int z = 255; z >= 0 && Visible; z--)
{
this.BackColor = Color.FromArgb(z, 255 - z, z);
Application.DoEvents();
Thread.Sleep(2);
}
}
else
{
fClr--;
this.BackColor = Color.MediumBlue;
Application.DoEvents();
Thread.Sleep(1);
}
}
}
我很想知道的另一件事情是如何讓BackColor
要經過整個調色板。
編輯:S/n 應用JABFreeware的解決方案後。我添加了一個斷點來查看發生了什麼,並且當我第一次點擊btnClr_Click
時fClr
的值爲1。但是,當我再次點擊它fClr
獲得0,但是然後立即再次獲得1。不知道這是否與while (Visible)
有關。 ..頭部抓痕..
我仍然不確定你想要完成什麼。你能否包括一些照片? – Neolisk 2013-03-10 22:39:15
[鏈接](http://i.imgur.com/4GuMLfg.jpg)是如何在我的表單設計師。當我點擊'btnClr_Click'(表單顏色)時,它會循環顯示綠色步驟,如[鏈接](http://i.imgur.com/D8he4Tg.jpg)。我正在尋找一種解決方案,當我再次單擊'btnClr_Click'時,'BackColor'將返回到MediumBlue。我不確定爲什麼@ JABFreeware的解決方案不能解決,但它不。 – XMGibbs 2013-03-10 23:27:02