Разработаем следующее 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);
// поместить строки
}
}
}