[問題] 物件屬性

看板C_Sharp作者 (xyy)時間13年前 (2011/01/06 19:51), 編輯推噓0(0010)
留言10則, 2人參與, 最新討論串1/1
先奉上程式碼 public partial class Form1 : Form { Label[]led = new Label[7]; int a=1; int count public Form1() { InitializeComponent(); timer1.Enabled = true; timer1.Interval = 500; label9.Text = "旋轉: 順時針"; private void button2_Click(object sender, EventArgs e) { count = 0; if (count < 7) { led[count + 1].BackColor = Color.Red; led[count].BackColor = Color.Gray; count++; } else { led[0].BackColor = Color.Red; led[7].BackColor = Color.Gray; count = 0; } timer1.Enabled = true; } private void button1_Click(object sender, EventArgs e) { if (a==1) { label9.Text = "旋轉: 逆時針"; a = 0; } else { label9.Text = "旋轉: 順時針"; a = 1; } } private void timer1_Tick(object sender, EventArgs e) { if (a==1) { if (count < 7) { led[count + 1].BackColor =Color.Red; led[count].BackColor = Color.Gray; count++; } else { led[0].BackColor = Color.Red; led[7].BackColor = Color.Gray; count = 0; } } else if (count > 0) { led[count - 1].BackColor = Color.Red; led[count].BackColor = Color.Gray; count--; } else { led[7].BackColor = Color.Red; led[0].BackColor = Color.Gray; count = 7; } } 這個程式,按偵錯時,在這一行""led[count + 1].BackColor =Color.Red;"" 會出現這個問題""並未將物件參考設定為物件的執行個體"" 感覺上是沒有創造出Label這一個物件,所以無法控制BackColor這一個屬性 拜託板上的各路高手了,這個程式已經想好幾天了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.35.223.137

01/06 20:34, , 1F
你沒有建物件你要他控制什麼
01/06 20:34, 1F

01/06 20:35, , 2F
led[count + 1] = label1;
01/06 20:35, 2F

01/06 20:35, , 3F
在出錯的code上面把這行加進去
01/06 20:35, 3F

01/06 20:36, , 4F
把你在form上拉好的label物件指派給led[count + 1]
01/06 20:36, 4F

01/06 20:39, , 5F
你一開始建了label陣列但你沒有做初始化
01/06 20:39, 5F

01/06 20:41, , 6F
for (int i = 0; i < 7; i++)
01/06 20:41, 6F

01/06 20:41, , 7F
{
01/06 20:41, 7F

01/06 20:41, , 8F
led[i] = new Label();
01/06 20:41, 8F

01/06 20:41, , 9F
}
01/06 20:41, 9F

01/11 12:01, , 10F
感謝ken1325大,解決了問題
01/11 12:01, 10F
文章代碼(AID): #1D9QoyNp (C_Sharp)