Разработаем следующее Windows-приложение. В поле ListBox вывести в виде списка элементы массива строк. Выделяя
элемент списка, будем удалять его и из списка и из массива. Обеспечим возможность
восстановления начального состояния списка. Некоторые свойства элементов
зададим в коде.
Разместите на форме элементы управления Button, ListBox.
Задайте свойства: Form1:Text = ListBox
button1:Text =         Отобразить начальный список
button2:Text = Удалить выбранный элемент
Текст из проекта winProgram_2 решения winProgram_1 
namespace WindowsFormsApplication1
{
    public partial
class Form1 : Form
    {
        public
Form1()//.. конструктор
        {            
           
InitializeComponent();
// Свойства формы:
            this.StartPosition
= FormStartPosition.CenterScreen;
            this.Text
= "ListBox";
//
Установить начальные свойства элементов:
            listBox1.Visible = false;   // не показывать!
            button2.Visible = false;     // не показывать!
        }
// поля
класса Form1:
string []
lines = new string[] 
            {"один","два","три","четыре","пять","шесть","семь"
};
string [] newLines = null;
        private void
button1_Click(object sender, EventArgs e)
        {// показать исходный список:
            listBox1.Visible = true;    // показать listBox1
            listBox1.Items.Clear();     // очистить
            listBox1.Items.AddRange(lines); // поместить строки
            newLines = lines;            //
            button2.Visible = true;     // показать button2
        }
        private void
button2_Click(object sender, EventArgs e)
        {// удалить
выбранный элемент:
            int n = listBox1.SelectedIndex;    //
Выделенная строка
            if (n == -1) return;    //.. ничего не выбрано
            string [] tempLines = new string[newLines.Length-1]; 
            for (int
k=0, i=0; i<newLines.Length; i++)
                if(i
!= n) tempLines[k++] = newLines[i];
           
newLines = tempLines;
            listBox1.Items.Clear();
// очистить
           
listBox1.Items.AddRange(newLines); 
// поместить строки
        }
    }
}
