2016-11-04 7 views
1

Здравствуйте, я пытаюсь нажать на кнопку, чтобы удалить и пункт, но я постоянно получаюУдаление элемента из выпадающего списка в C#

Exception «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

Смежные вопросы