DomainUpDown

  • docx
  • 18.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л2-002220.docx

DomainUpDown

Элемент управления DomainUpDown отображает отдельное строковое значение, выделенное в коллекции Object путем нажатия на кнопки пе- редвижения вверх/вниз по элементам коллекции.

рис.14

 

Пользователь также может вводить в элемент управления текст, если свойство ReadOnly имеет значение false (вводимая строка должна соот- ветствовать элементу в коллекции, чтобы быть допустимой).

 

Доступ к элементам коллекции:

Вся коллекция объектов доступна через свойство Items.

Свойство SelectedIndex - получает или задает значение индекса для выделенного элемента.

Свойство SelectedItem - получает или задает текстовое представле- ние выделенного элемента, основываясь на значении индекса элемента, выделенного в коллекции.

 

Пример:

MessageBox.Show ( "SelectedIndex: " + domainUpDown1.SelectedIndex + "\n" + "SelectedItem: " + domainUpDown1.SelectedItem);

 

Создать коллекцию объектов, отображаемых в элементе управления

DomainUpDown, можно:

  в коде программы (можно добавлять и удалять отдельные элемен- ты с помощью методов Items.Add() и Items.Remove() )

-- или --

  на этапе конструирования (с помощью Редактора строк коллекции, вызываемого через свойство Items ... ).

рис.15

 

// domainUpDown1.    В конструкторе. Создаем коллекцию объектов-строк


this.domainUpDown1.Items.Add (" Элемент-1"); this.domainUpDown1.Items.Add (" Элемент-2"); this.domainUpDown1.Items.Add (" Элемент-3"); this.domainUpDown1.Name = "domainUpDown1"; this.domainUpDown1.Text = " Элемент-1";

 

this.domainUpDown1.TabIndex = 0;

this.domainUpDown1.Location = new System.Drawing.Point (96, 48);

 

Другие возможности:

Сортировка коллекции объектов может быть выполнена по алфавиту, если свойству Sorted задать значение true.

Когда Wrap имеет значение true, то список будет закольцованным (то есть при прокрутке последнего или первого объекта в коллекции про- смотр списка начнется повторно с первого или последнего объекта соот- ветственно).

 

Для отображения объекта в элементе управления «вверх/вниз» вы- зывается метод ToString() этого объекта.

 

Пример:

public class UDC

{

int a, b;

 

public UDC (int A, int B)

{ a=A; b=B;}

 

public override string ToString()

{ return " " + a + "+" + b; }

}

 

 

 

 

 

 

 

 

 

 

 

рис.16

UDC udc;

DomainUpDown domainUpDown1 ;

// . . .

private void InitializeComponent()

{

domainUpDown1 = new DomainUpDown(); SuspendLayout();

//

// domainUpDown1

//


udc = new UDC(0, 10); domainUpDown1.Items.Add (udc);

 

udc = new UDC(1, 11); domainUpDown1.Items.Add (udc);

 

udc = new UDC(2, 12); domainUpDown1.Items.Add (udc);

 

udc = new UDC(3, 13); domainUpDown1.Items.Add (udc);

 

domainUpDown1.Location = new System.Drawing.Point(96, 48); domainUpDown1.Name = "domainUpDown1"; domainUpDown1.TabIndex = 0;

domainUpDown1.Text = " Элемент-1";

//

// Form1

// . . .

 

При вызове методов UpButton (отображает предыдущий элемент в коллекции) или DownButton (отображает следующий элемент в коллек- ции объектов) в коде либо при нажатии на кнопки передвижения вверх или вниз также вызывается защищенный метод UpdateEditText, обнов- ляющий элемент управления новой строкой.

Если защищенное свойство UserEdit имеет значение true, строка со- относится с одним из значений в коллекции до обновления текстового отображения элемента управления.

 

Пример

В приведенном ниже примере создается и инициализируется элемент управления DomainUpDown. Данный пример позволяет задать значения для некоторых его свойств и создать коллекцию строк, отображаемых в элементе управления «вверх/вниз».

Предполагается, что TextBox, CheckBox и Button уже инициализиро- ваны на этой форме. В этом примере также предполагается, что на уров- не классов имеется переменная myCounter – 32-разрядное целое число. Можно ввести строку в текстовое поле и добавить ее в коллекцию Items нажатием кнопки.

При помощи флажка можно включать и отключать свойство Sorted,

наблюдая различия в коллекции элементов в элементе управления

«вверх/вниз».

 

// СОЗДАЕТСЯ КОНСТРУКТОРОМ:

protected DomainUpDown domainUpDown1;

 

private void MySub()

{

// Создать и проинициализировать DomainUpDown domainUpDown1 = new System.Windows.Forms.DomainUpDown();

 

// Добавить DomainUpDown в форму


Controls.Add(domainUpDown1);

}

 

private void button1_Click (Object sender, System.EventArgs e)

{

// Добавить содержимое TextBox в коллекцию DomainUpDown domainUpDown1.Items.Add ((textBox1.Text.Trim()) + " - " + myCounter);

 

myCounter = myCounter + 1;              // Перейти к следующему номеру

 

textBox1.Text = "";                              // Очистить TextBox.

}

 

private void checkBox1_Click(Object sender, System.EventArgs e)

{

// Если сортировка разрешена, то запретить сортировку, и наоборот

if (domainUpDown1.Sorted) domainUpDown1.Sorted = false;


else

 

}


domainUpDown1.Sorted = true;


 

void domainUpDown1_SelectedItemChanged(Object s, EventArgs e)

{

// Вывести значение свойств SelectedIndex and SelectedItem MessageBox.Show(

"SelectedIndex: " + domainUpDown1.SelectedIndex+ "\n" + "SelectedItem: " + domainUpDown1.SelectedItem);

}