Список ListBox

Список служит для представления перечней элементов, в которых пользователь может выбрать одно (свойство SelectionMode равно One) или несколько значений (свойство SelectionMode равно MultiSimple или MultiExtended). Если значение свой­ства SelectionMode равно Multi Simple, щелчок мышью на элементе выделяет его или снимает выделение. Значение Multi Extended позволяет использовать при вы­делении диапазона строк клавишу Shift, а при добавлении элемента — клавишу Ctrl, аналогично проводнику Windows. Запретить выделение можно, установив значение свойства SelectionMode, равное None.

Чаще всего используются списки строк, но можно выводить и произвольные изо­бражения. Список может состоять из нескольких столбцов (свойство MultiColumn) и быть отсортированным в алфавитном порядке (Sorted = True). Элементы списка нумеруются с нуля. Они хранятся в свойстве Items, представляю­щем собой коллекцию. В Items можно добавлять элементы с помощью методов

Add, AddRange и Insert. Для удаления элементов служат методы Remove и RemoveAt, удаляющие заданный элемент и элемент по заданному индексу соответственно. Выделенные элементы можно получить с помощью свойств SelectedItems и Selected-Indices, предоставляющих доступ к коллекциям выделенных элементов и их ин­дексов.

В листинге 14.5 приведен пример приложения, которое отображает в списке типа ListBox строки, считанные из входного файла, а затем по щелчку на кнопке Запись выводит выделенные пользователем строки в выходной файл. Вид окна приложения приведен на рис. 14.10.

Рис. 14.10. Окно приложения для работы со списком строк

Листинг 14.5. Работа со списком строк

using System;

using System.IO;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.Collections.Specialized;

namespace WindowsApplication1

{

public class Form1: Form

{

private ListBox listBox1;

private Button buttor1;

private Container components = null;

public Form1() {/*... */ }

protected override void Dispose(bool disposing) {/*... */ }

// Windows Form Designer generated code { /*... */ }

static void Main() { /*... */ }

private void Form1_Load(object sender, EventArgs e)

{

try

{

StreamReader f = new StreamReader("input.txt");

string buf;

while ((buf = f.ReadLine())!= null) // чтение из файла

listBox1.Items.Add(buf); // занесение в список

}

catch (FileNotFoundException exc)

{

MessageBox.Show(exc.Message); return;

}

}

private void button1_Click(object sender, EventArgs e)

{

StreamWriter f = new StreamWriter("output.txt");

foreach (string item in listBoxl.Selectedltems)

f.WriteLine(item); // запись в файл

f.Close();

}

}

}

На панели инструментов расположено множество компонентов, не рассмотренных в этой книге. Для их изучения следует обратиться к справочной системе.NET. Она организована понятно и единообразно, и даже те, кто не изучал английский язык, смогут при некотором навыке извлечь оттуда необходимую информацию1.

СОВЕТ

При изучении компонента рекомендуется следующая последовательность действий. Разместите компонент на форме, выделите его, нажмите клавишу F1 и перейдите по ссылке...overview (обзор). Изучите разделы Remarks и Example, затем перейдите по ссылке...Members (элементы класса), расположенной в верхней части окна. Попы­тайтесь получить представление о возможностях изучаемого класса, выделив главные из его свойств и открытых методов. После этого можно вернуться к заготовке при­ложения и начать экспериментировать со свойствами, а затем — с методами класса.

В следующей части этой главы будут коротко описаны основные элементы клас­сов Form и Application, входящих в состав любого приложения.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: