Программирование >>  Обработка исключительных ситуаций 

1 ... 107 108 109 [ 110 ] 111 112 113 ... 142


Элементы управления

л л л

using System.Windows.Forms; using System.Data;

namespace WindowsApplicationl

public class Forml : Form

private Label labell;

private GroupBox groupBoxl; private RadioButton radioButtonl;

Brivate RadioButton radioBton2; rivate TextBox numtextBox;

private CheckBox numPositcheckBox;

private Button private Button private TextBox private TextBox private TextBox private CheckBox private Container

public FormlO { .

createbutton;

calcbutton;

maxtextBox;

numPosittextBox;

arraytextBox;

maxcheckBox;

components = nul 1;

protected override void Dispose( bool disposing ) { Windows Form Designer generated code { .. . }

int[] arr;

static void MainO {

описание массива

private void createbutton Click(object sender, EventArgs e)

Random rnd = new RandomO; int a = -10. b = 10;

if ( radioButton2.Checked )

-100; b 0;

100;

диапазон значений элементов

корректировка диапазона

int.Parse(numtextBox.Text);

int n

catch

MessageBox.Show( Введите количество элементов! ); numtextBox.CI ear(); numtextBox.Focus();

длина массива

продолжение

&



Глава 14. Введение в программирование под Windows

Листинг 14.4 (продолжение)

arraytextBox.ClearO: maxtextBox.ClearO; numPosittextBox.ClearO;

очистка полей ввода

if ( n < 0 ) n = -n; если введено отрицательное число

агг = new int[n]; создание массива

for ( int i = 0; i < n; ++i )

arr[i] = rnd.Next(a. b); задание элемента массива

arraytextBox.Text += + arr[i.]; в массива

private void calcbutton Click(object sender, EventArgs e)

int max = arr [0]; int numPosit = 0;

for ( int i = 0; i < arr.Length; ++i )

if ( arr[i] > max ) max = arr[i]; поиск максимума

if ( arr[i] > 0 ) ++numPosit; количество положительн1х

if ( maxcheckBox.Checked )

maxtextBox. Text = max.ToStringO; else maxtextBox.Text = ; if ( numPositcheckBox.Checked )

numPosittextBox.Text = numPosit.ToStringO; else numPosittextBox.Text = ;

Список ListBox

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

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

Элементы списка нумеруются с нуля. Они хранятся в свойстве Items, представляющем собой коллекцию. В Items можно добавлять элементы с помощью методов



шементы управления 335

AddRange и Insert. Для удаления элементов служат методы Remove и RemoveAt, /даляющие заданный элемент и элемент по заданному индексу соответственно.

Выделенные элементы можно получить с помощью свойств Selectedltems и Selected-Indices, предоставляющих доступ к коллекциям выделенных элементов и их индексов.

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

Forml Л П [У

SystemObject

SystemMashalByRefObject

System. ComporrertModeLComponent

System. Windows.Forms.Conttol

System. Windows.Forms.ScrollableControl

System.Windows.Foims.ContainerContiol

System. Windows.Forms.Form

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

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

using System; using System.10; using System.Drawing; using System.Col lections; using System.ComponentModel; using System.Windows.Forms; using System.Data;

using System.Collections.Specialized;

namespace WindowsApplicationi

public class Forml : Form {

private ListBox listBoxl;

private Button buttonl;

private Container components = null;

public FormlO { ... }

protected override void DisposeC bool disposing ){...} Windows Form Designer generated code ,{ ... , }

продолжение

Загчсь J



1 ... 107 108 109 [ 110 ] 111 112 113 ... 142

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика