2016-11-04 30 views
1

你好,我想點擊一個按鈕來刪除和項目,但我不斷收到刪除從列表框中的項目在C#

「IndexOutOfRange」異常。

private void listBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    clientNum = clientList.Items.Count; 
    for (int i = 0; i < clientNum; i++) 
    { 
     nameSeletion[i] = clientList.Items[i].ToString(); 
    } 

    if (dateSeletion[clientList.SelectedIndex] != null) 
    { 
     dateCalender.SelectionStart = todayDate[clientList.SelectedIndex]; 
     Check(); 
    } 
    else 
    { 
     nameLbl.Text = nameSeletion[clientList.SelectedIndex]; 
     dateText.Text = ""; 
    } 
} 

if (dateSeletion[clientList.SelectedIndex] != null)就是我有錯誤。

按鈕的代碼是

private void button1_Click(object sender, EventArgs e) 
{ 
    clientList.Items.Remove(clientList.Items[clientList.SelectedIndex]); 
} 

的dateSelection在保存按鈕和初始化定義

private void SaveBtn_Click(object sender, EventArgs e) 
    { 
     //save the list array for names 
     for (int i = 0; i < clientNum; i++) 
     { 
      nameSeletion[i] = clientList.Items[i].ToString(); 
     } 

     dateSeletion[clientList.SelectedIndex] = dateCalender.SelectionStart.Date.ToShortDateString() + 
      " " + clientTime.Value.ToShortTimeString(); 
     todayDate[clientList.SelectedIndex] = dateCalender.SelectionStart; 
     dateCalender.BoldedDates = todayDate; 
     Check(); 

    } 

public ClientForm() 
    { 
     InitializeComponent(); 
     clientNum = clientList.Items.Count; 
     todayDate = new DateTime[clientNum]; 
     dateSeletion = new string[clientNum]; 
     nameSeletion = new string[clientNum]; 
     clientTime.CustomFormat = "hh:mm tt"; 

     //initialize the list array for names 
     for (int i = 0; i < clientNum; i++) 
     { 
      nameSeletion[i] = clientList.Items[i].ToString(); 
     } 

    } 
+3

什麼是'dateSeletion'它被定義?和人口? –

+0

添加了dataSelection定義的地方 – mattr534

回答

0

試試這個

clientList.RemoveAt(clientList.SelectedIndex); 
+0

我仍然得到相同的錯誤。我認爲這與dateSelection有關,我只是不確定是什麼。 – mattr534