簡體   English   中英

從C#中的列表框中刪除項目

[英]Removing an item from a listbox in 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();
        }

    }

嘗試這個

clientList.RemoveAt(clientList.SelectedIndex);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM