Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Благодарности 12 страница






Ниже мы привели модифицированные исходные тексты обработчиков событий bkgChanged и foreChanged:

private void bkgChanged(object sender, System.EventArgs e)
{
RadioButton rb = (RadioButton)sender;
switch(rb.Text)
{
case " Красный":
{
label2.BackColor = Color.LightCoral;
break;
}
case " Зеленый":
{
label2.BackColor = Color.LightGreen;
break;
}
case " Синий":
{
label2.BackColor = Color.LightBlue;
break;
}
case " Белый":
{
label2.BackColor = Color.White;
break;
}
}
}

private void foreChanged(object sender, System.EventArgs e)
{
RadioButton rb = (RadioButton)sender;

switch(rb.Text)
{
case " Красный":
{
label2.ForeColor = Color.Red;
break;
}
case " Зеленый":
{
label2.ForeColor = Color.Green;
break;
}
case " Синий":
{
label2.ForeColor = Color.Blue;
break;
}
case " Белый":
{
label2.ForeColor = Color.White;
break;
}
}
}

Эти обработчики событий работают по одинаковому алгоритму. Вначале они сохраняют в переменной rb идентификатор флажка, состояние которого было изменено. Затем обработчики извлекают текст надписи, расположенной возле флажка. В зависимости от этого текста, обработчики изменяют цвет фона или текста надписи label2, расположенной в нижней части главного окна нашего приложения.

При необходимости Ваше приложение может обрабатывать и другие события, создаваемые флажками с зависимой фиксацией. Полный список и кроткое описание этих событий Вы сможете просмотреть на вкладке событий окна Properties (рис. 6-6). Обрабатывая, например, события MouseEnter и MouseLeave, Вы сможете динамически изменять внешний вид флажка, когда над ним находится курсор мыши.

Использование изображений

В распоряжении программиста имеются средства настройки цвета фона и текста для флажков, аналогичные средствам настройки данных атрибутов кнопок Button.

Так же как и кнопки класса Button, рассмотренные нами в начале этой главы, флажки можно снабжать графическими изображениями, а также фоновыми графическими изображениями.

На рис. 6-7 мы привели внешний вид измененного приложения RadioButtonApp. В нем мы снабдили флажки, задающие цвет фона, графическими изображениями. Кроме того, для флажка Белый мы задали фоновое графическое изображение.

Рис. 6-7. Использование изображений

Для того чтобы поместить в окно флажка графическое изображение, необходимо отредактировать свойство Image. Сделав это, необходимо настроить свойства ImageAlign и TextAlign, чтобы задать взаимное расположение графического изображения и текста надписи для флажка. Фоновое графическое изображение помещается в окно флажка при помощи свойства BackgroundImage.

Использование изображений для флажков позволяют значительно улучшить дизайн приложения, сделав его похожим на дизайн современных Web-приложений.

Флажки с независимой фиксацией

Напомним, что флажки с независимой фиксацией работают независимо друг от друга. При этом не имеет никакого значения, расположены они внутри панелей GroupBox и Panel, или непосредственно в окне приложения. Эти флажки создаются на базе класса System.Windows.Forms.CheckBox.

Как правило, флажки с независимой фиксацией используется в программе, для того чтобы задавать какие-либо режимы, которые можно устанавливать независимо друг от друга.

Такие флажки могут находиться во включенном или выключенном состоянии, а также в третьем, неопределенном состоянии.

Приложение CheckBoxApp

Для демонстрации приемов работы с флажками CheckBox мы подготовили приложение CheckBoxApp (рис. 6-8). Это приложение предназначено для ввода параметров подключения к почтовым серверам POP3 и SMTP.

Рис. 6-8. Приложение CheckBoxApp

Как оно работает?

В группе элементов управления Сервер POP3 пользователь может ввести такие параметры, как адрес сервера, учетная запись и пароль. Флажок с независимой фиксацией Запомнить пароль указывает программе на необходимость запоминания пароля, введенного пользователем, с тем, чтобы ему не приходилось вводить этот пароль при каждом подключении к серверу.

Группа Сервер SMTP объединяет элементы управления, позволяющие задать параметры подключения к серверу SMTP, ведающему передачей электронной почты.

В поле Адрес пользователь может ввести доменный адресе сервера SMTP. Флажок Использовать авторизацию на сервере SMTP, который сразу после отображения окна приложения находится в неотмеченном состоянии, позволяет включить режим авторизации. В этом режиме для отправки почты необходимо указать дополнительный пароль.

Если отметить флажок Использовать авторизацию на сервере SMTP, то поле ввода пароля и флажок Запомнить пароль будут разблокированы. Это позволит пользователю ввести пароль для сервера SMTP, а также указать режим запоминания пароля.

После того как пользователь заполнил все поля, наша программа отображает введенные значения в окне, показанном на рис. 6-9.

Рис. 6-9. Просмотр введенных параметров

Если пользователь отметил флажки Запомнить пароль, то этот факт отмечается словом «сохранить».

Настройка свойств флажков CheckBox

Состав свойств флажков с независимой фиксацией, создаваемых на базе класса CheckBox, аналогичен составу свойств флажков с зависимой фиксацией RadioButton, рассмотренных нами ранее в этой главе. Однако есть и отличия.

Свойство Appearance определяет внешний вид флажка. По умолчанию значение этого свойства равно Normal, в результате чего флажок выглядит так, как это показано на рис. 6-8. Если же установить значение этого свойства, равным Button, флажок будет похож на обычную кнопку. В отмеченном состоянии флажок будет нарисован как нажатая кнопка, а в неотмеченном — как отжатая кнопка.

Свойство CheckAlign позволяет изменять взаимное расположение флажка и надписи к нему. Изменяя это свойство, Вы можете, например, поместить подпись не справа, а слева от флажка.

Очень интересное свойство называется ThreeState. Если это свойство имеет значение true, то флажок сможет принимать не два, а три состояния:

 включен;

 выключен;

 неопределенное состояние.

Флажок последовательно проходит эти состояния, когда пользователь щелкает его мышью. Состояние флажка можно изменять и программным способом. Для этого нужно изменить значение свойства CheckState.

Если флажок может находиться только в двух состояниях (свойство ThreeState равно false), то это свойство может принимать значения CheckState.Checked (флажок установлен) и CheckState.Unchecked (флажок не установлен).

В том случае, когда значение свойства ThreeState равно true и флажок может принимать три состояния, свойство CheckState может иметь значение CheckState.Indeterminate (неопределенное состояние).

Обработка событий

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

Переключение флажка в неопределенное состояние

Вначале мы займемся флажком Использовать авторизацию на сервере SMTP. Подготовьте для него следующий обработчик события CheckedChanged:

private void checkBox1_CheckedChanged(object sender,
System.EventArgs e)
{
CheckBox cb = (CheckBox)sender;
if(cb.Checked)
{
textBoxSMTPPassword.Enabled = true;
checkBoxStoreSMTPPassword.Enabled = true;
}
else
{
textBoxSMTPPassword.Enabled = false;
checkBoxStoreSMTPPassword.Enabled = false;

if(checkBoxStoreSMTPPassword.Checked)
{
checkBoxStoreSMTPPassword.CheckState =
CheckState.Indeterminate;
}
}
}

Когда пользователь изменяет состояние флажка Использовать авторизацию на сервере SMTP, обработчик checkBox1_CheckedChanged определяет текущее состояние флажка (отмечен или не отмечен).

Если флажок отмечен, обработчик события разблокирует поле ввода пароля для сервера SMTP и флажок Запомнить пароль:

if(cb.Checked)
{
textBoxSMTPPassword.Enabled = true;
checkBoxStoreSMTPPassword.Enabled = true;
}

В противном случае эти поля блокируются:

textBoxSMTPPassword.Enabled = false;
checkBoxStoreSMTPPassword.Enabled = false;

После блокировки полей обработчик события проверяет текущее состояния флажка Запомнить пароль. Если этот флажок отмечен, то он переводится в неопределенное состояние:

if(checkBoxStoreSMTPPassword.Checked)
{
checkBoxStoreSMTPPassword.CheckState =
CheckState.Indeterminate;
}

В реальном приложении для обработки аналогичной ситуации нет никакой необходимости переводить флажок в третье состояние, т.к. можно ограничиться его блокировкой. Мы привели этот фрагмент кода только как пример способа перевода флажка в неопределенное состояние.

Реально неопределенное состояние флажков с независимой фиксацией часто используется в древовидных структурах диалоговых окон настройки каких-либо параметров. Оно отмечает ветви дерева, содержащие флажки, находящиеся и в отмеченном, и в неотмеченном состоянии. Такие окна встречаются, например, в программах установки приложений.

Извлечение состояния флажков

В окне нашего приложения предусмотрена кнопка Сохранить (рис. 6-8), предназначенная для просмотра информации, введенной пользователем.

Подготовьте обработчик события button1_Click для этой кнопки в следующем виде:

private void button1_Click(object sender, System.EventArgs e)
{
string str =
" POP3 Server: " + textBoxPOP3Server.Text + " \n" +
" POP3 Username: " + textBoxAccount.Text + " \n" +
" POP3 Password: " + textBoxPOP3Password.Text;

if(checkBoxStorePOP3Password.Checked)
{
str += " (сохранить)";
}

str += " \n\nSMTP Server: " + textBoxSMTPServer.Text + " \n";

if(checkBoxUseSMTPPassword.Checked)
{
str += " SMTP Password: " + textBoxSMTPPassword.Text;
}

if(checkBoxStoreSMTPPassword.Checked & &
checkBoxStorePOP3Password.Checked)
{
str += " (сохранить)";
}

MessageBox.Show(str);
}

Информация, введенная в текстовых полях, извлекается из свойства Text. Что же касается текущего состояния флажков с независимой фиксацией, то их состояние можно получить из свойства Checked.

Вот, например, как мы проверяем состояние флажка Запомнить пароль:

if(checkBoxStorePOP3Password.Checked)
{
str += " (сохранить)";
}

Напомним, что если флажок может находиться в трех состояниях, то свойство Checked может принимать следующие значения:

 CheckState.Checked

 CheckState.Unchecked

 CheckState.Indeterminate

Списки

Перед программистом часто встает задача организации списков, предназначенных для выбора строки из некоторого заранее определенного набора строк. Например, может потребоваться список файлов из текущего каталога, список названий цветов для раскраски какого-либо объекта приложения, список режимов работы приложения и т. д. Стандартные диалоговые окна, такие как Open и Save As, содержат списки файлов, каталогов и дисковых устройств.

На панели инструментов Tools системы разработки программного обеспечения Microsoft Visual Studio.NET имеются готовые элементы управления, с помощью которых программист может легко добавить списки различных типов в свое приложение.

На рис. 6-10 мы показали главное окно приложения ListBoxApp, созданного нами для демонстрации способов применения списков в оконных приложениях C#.

Рис. 6-10. Списки в окне приложения ListBoxApp

В левом верхнем углу этого окна находится список, созданный на базе класса ListBox. С его помощью Вы можете создавать одно-колоночные и многоколоночные списки, имеющие вертикальную (для одно-колоночных списков) и горизонтальную (для многоколоночных списков) полосу прокрутки. Список ListBox позволяет пользователю выбирать как один, так и несколько элементов.

Список, создаваемый на базе класса CheckedListBox, тоже допускает выбор одного или нескольких элементов. Этот список показан в правом верхнем углу рис. 6-10 и обозначен как CheckedListBox. Он представляет собой комбинацию списка ListBox и флажков CheckBox, рассмотренных в предыдущем разделе этой главы.

Список класса ComboBox, показанный в левой части рис. 6-10, является комбинацией списка и однострочного редактора текста. Поэтому для данного списка используются свойства и события, аналогичные свойствам и событиям списка ListBox и редактора текста класса TextBox.

Если щелкнуть мышью кнопку со стрелкой, расположенную в правой части окна списка ComboBox, это окно раскроется (рис. 6-11).

Рис. 6-11. Раскрыт список ComboBox

Пользователь сможет выбрать нужную строку из списка или набрать ее при помощи клавиатуры в верхней части окна ComboBox.

В нижней части главного окна нашего приложения находятся элементы управления DomainUpDown и NumericUpDown. Первый из них позволяет выбирать текстовую строку из списка методом последовательного перебора, а второй — последовательно изменять значение числовой величины.

Расскажем об использовании этих элементов управления более подробно.

Список ListBox

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

Создание списка

В процессе визуального проектирования приложения для создания списка ListBox программист перетаскивает значок этого списка, расположенный на инструментальной панели Toolbox.

При этом в приложение будет добавлен следующий программный код:

this.listBox1 = new System.Windows.Forms.ListBox();

Здесь список создается как объект класса System.Windows.Forms.ListBox.

Сразу после создания список пуст. Редактируя свойство Items, можно добавить в список необходимое количество строк. При этом на программном уровне добавление строк будет выполнено при помощи метода AddRange:

this.listBox1.Items.AddRange(
new object[]
{
" Каждый",
" Охотник",
" Желает",
" Знать",
" Где",
" Сидит",
" Фазан"
}
);

Этот метод позволяет добавить в список сразу несколько строк.

Настройка свойств

Далее необходимо настроить свойства, задающие расположение списка, его имя, размер и порядок передачи фокуса ввода при использовании клавиши табуляции:

this.listBox1.Location = new System.Drawing.Point(16, 32);
this.listBox1.Name = " listBox1";
this.listBox1.Size = new System.Drawing.Size(120, 95);
this.listBox1.TabIndex = 0;

Весь этот код добавляется в проект автоматически мастером форм, когда Вы помещаете список внутрь формы.

Целый ряд свойств элемента управления ListBox позволяет задать внешний вид и поведение списка.

Свойство SelectionMode определяет режим выделения элементов списка и может принимать следующие значения:

 SelectionMode.None;

 SelectionMode.One;

 SelectionMode.MultiSimple;

 SelectionMode.MultiExtended.

Значение SelectionMode.None запрещает выделение элементов и может быть использовано, например, для динамического блокирования списка.

Если присвоить свойству SelectionMode значение SelectionMode.One, пользователь сможет выделить в списке только один элемент.

Значения SelectionMode.MultiSimple и SelectionMode.MultiExtended позволяют выделять в списке сразу несколько элементов. В первом из этих случаев выделение нескольких элементов выполняется мышью или клавишей пробела, а во втором дополнительно можно использовать клавишу Shift и клавиши перемещения курсора.

Установив значение свойства ScrollAlwaysVisible, можно включить режим постоянного отображения полос прокрутки вне зависимости от количества элементов, имеющихся в списке.

При помощи свойства Sorted, присвоив ему значение true, можно включить режим сортировки строк списка, отключенный по умолчанию.

Свойство MultiColumn позволяет расположить строки списка в несколько столбцов.

Получение списка выделенных строк

Обычно в форме, содержащий список, имеется кнопка или другой элемент управления, с помощью которого пользователь закрывает форму и передает подготовленные с ее помощью данные вызывающей программе. Именно на этом этапе обработчик событий должен определить, какие строки были выделены пользователем в списке.

Вначале мы рассмотрим ситуацию, когда пользователю разрешается выделять из списка только один элемент. В этом случае свойству SelectionMode должно быть присвоено значение One.

В этом случае номер выделенной строки будет храниться в свойстве SelectedIndex. Самой верхней строке списка соответствует нулевое значение. Заметим, что если пользователь не выделил ни одной строки, в свойство SelectedIndex будет записано отрицательное значение.

Что же касается SelectedItem, то это свойство хранит текст строки, выделенной в списке пользователем, или пустую строку, если пользователь не выделил ни одной строки списка.

Для работы с этими свойствами создайте обработчик событий button1_Click для кнопки OK, расположенной в главном окне нашего приложения (рис. 6-10):

private void button1_Click(object sender, System.EventArgs e)
{
string str;
str = " Список ListBox: ";

str += " \nИндекс: " + listBox1.SelectedIndex;
str += " \nЭлемент: " + listBox1.SelectedItem;
MessageBox.Show(str);
}

Этот обработчик последовательно дописывает к строке str индекс выделенной строки списка и текст этой строки, а затем отображает результат в диалоговом окне MessageBox (рис. 6-12).

Рис. 6-12. Просмотр выбранной строки списка ListBox

Если пользователю разрешено выбирать из списка сразу несколько элементов, то программа может получить номера выделенных строк, анализируя свойство SelectedIndices. Это свойство представляет собой контейнер, содержащий список выделенных строк. Аналогично, текст выделенных строк можно извлечь из контейнера SelectedItems:

str += " \n";
foreach (int idx in listBox1.SelectedIndices)
{
str += " " + idx;
}

str += " \n";
foreach (string s in listBox1.SelectedItems)
{
str += " " + s;
}

Добавьте приведенные выше строки в тело обработчика событий button1_Click непосредственно перед вызовом метода MessageBox.Show. На рис. 6-13 мы показали, как теперь будет отображаться информация о выделенных строках.

Рис. 6-13. Результат выбора нескольких строк

Заметьте, что свойства SelectedIndex и SelectedIndex при выделении нескольких строк будут содержать информацию только о первой выделенной строке.

Список CheckedListBox

Элемент управления CheckedListBox во многом напоминает только что рассмотренный список ListBox, но обладает несколькими особенностями.

Прежде всего, рядом с каждым элементом списка располагается флажок. Пользователь может отмечать его состояние при помощи мышки или клавиши пробела.

По умолчанию выделение строки списка не приводит к отметке соответствующего флажка. Однако если установить значение свойства CheckOnClick, то флажки выделяемых строк будут автоматически отмечаться.

Заметим, что в отличие от списка ListBox, список CheckedListBox не допускает одновременное выделение нескольких строк. Соответственно, свойство SelectionMode может принимать значения SelectionMode.One или SelectionMode.None. В первом случае пользователь сможет выделить одну строку, а во втором — ни одной.

Тем не менее, в списке CheckedListBox пользователь может отметить несколько флажков, расположенных около разных строк, реализовав, таким образом, множественное выделение.

Добавление элементов в список CheckedListBox выполняется примерно тем же самым способом, что и в список ListBox, а именно, с применением метода AddRange:

this.checkedListBox1 = new System.Windows.Forms.CheckedListBox();

this.checkedListBox1.Items.AddRange(
new object[]
{
" Каждый",
" Охотник",
" Желает",
" Знать",
" Где",
" Сидит",
" Фазан"
}
);

Мастер форм автоматически добавляет следующий код для настройки основных свойств списка:

this.checkedListBox1.Location = new System.Drawing.Point(160, 32);
this.checkedListBox1.Name = " checkedListBox1";
this.checkedListBox1.Size = new System.Drawing.Size(112, 94);
this.checkedListBox1.TabIndex = 1;
this.checkedListBox1.CheckOnClick = true;

Для того чтобы узнать номер выделенной строки и получить ее текст, воспользуйтесь свойствами SelectedIndex и SelectedItem, соответственно. Что же касается множественной отметки строк, то свойство CheckedIndices содержит список искомых номеров, а свойство CheckedItems — список искомых текстовых строк.

Чтобы попробовать все это в действии, добавьте следующий фрагмент кода в тело обработчика событий button1_Click непосредственно перед вызовом метода MessageBox.Show:

str += " \n\nСписок CheckedListBox: ";
str += " \nИндекс: " + checkedListBox1.SelectedIndex;
str += " \nЭлемент: " + checkedListBox1.SelectedItem;


str += " \n";
foreach (int idx in checkedListBox1.CheckedIndices)
{
str += " " + idx;
}

str += " \n";
foreach (string s in checkedListBox1.CheckedItems)
{
str += " " + s;
}

На рис. 6-14 мы показали сведения о строках, выделенных в списках ListBox и CheckedListBox.

Рис. 6-14. Добавлена обработка списка CheckedListBox

Список ComboBox

Как мы уже говорили, элемент управления ComboBox представляет собой комбинацию однострочного редактора текста и списка. Когда пользователь щелкает кнопку со стрелкой, расположенную в правой части окна элемента управления ComboBox, список раскрывается, и пользователь может выбрать из него нужную строку. Если же такой строки нет, или если пользователь не желает ее искать, строку можно ввести непосредственно с клавиатуры в поле редактирования.

После создания программа добавляет в список новые строки с помощью метода AddRange:

this.comboBox1 = new System.Windows.Forms.ComboBox();

this.comboBox1.Items.AddRange(
new object[]
{
" Каждый",
" Охотник",
" Желает",
" Знать",
" Где",
" Сидит",
" Фазан"
}
);

Далее происходит настройка основных свойств списка:

this.comboBox1.Location = new System.Drawing.Point(16, 168);
this.comboBox1.Name = " comboBox1";
this.comboBox1.Size = new System.Drawing.Size(120, 21);
this.comboBox1.TabIndex = 2;
this.comboBox1.Text = " Каждый";

Возможно, для Вас будет интересно свойство MaxDropDownItems, задающее количество строк в раскрывающемся окне списка. По умолчанию оно равно 8.

С помощью свойства Sorted можно отсортировать элементы списка по алфавиту, для чего нужно присвоить этому свойству значение true.

Чтобы получить строку, выбранную пользователем из списка или введенную в поле редактирования элемента управления ComboBox, необходимо обратиться к свойству Text:

str += " \n\nСписок ComboBox: " + comboBox1.Text;

Список DomainUpDown

Элемент управления DomainUpDown, показанный в левой нижней части рис. 6-10, позволяет последовательно выбирать текстовые строки, нажимая кнопки со стрелками, расположенные в правой части окна списка. При этом происходит «прокрутка» текстовых строк списка.

Кроме того, пользователь может ввести нужную ему строку непосредственно в окне элемента управления DomainUpDown при помощи клавиатуры. В этом список DomainUpDown напоминает только что рассмотренный элемент управления ComboBox.

Ниже мы привели фрагмент кода, создающий и наполняющий список DomainUpDown, а также настраивающий его некоторые свойства:

private System.Windows.Forms.DomainUpDown domainUpDown1;

this.domainUpDown1.Items.Add(" Каждый");
this.domainUpDown1.Items.Add(" Охотник");
this.domainUpDown1.Items.Add(" Желает");
this.domainUpDown1.Items.Add(" Знать");
this.domainUpDown1.Items.Add(" Где");
this.domainUpDown1.Items.Add(" Сидит");
this.domainUpDown1.Items.Add(" Фазан");
this.domainUpDown1.Location = new System.Drawing.Point(16, 232);
this.domainUpDown1.Name = " domainUpDown1";
this.domainUpDown1.TabIndex = 3;
this.domainUpDown1.Text = " Каждый";

Среди свойств списка DomainUpDown заслуживает упоминание свойство ReadOnly. Если установить значение этого свойства, равное true, пользователь сможет выбирать строки из списка, но ввод строки с клавиатуры будет ему недоступен.

Свойства UpDownAlign и TextAlign позволяют задать выравнивание кнопок прокрутки списка и текста строк списка, соответственно. По умолчанию кнопки располагаются справа, а текст выравнивается по левой границе окна списка.

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

Для того чтобы получить строку, введенную пользователем или выбранную в списке DomainUpDown, Вам потребуется обратиться к свойству Text:

str += " \nСписок DomainpDown: " + domainUpDown1.Text;

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

Хотя, строго говоря, элемент управления NumericUpDown и не является списком в обычном понимании этого слова, он, подобно списку DomainUpDown, позволяет изменять цифровые значения, «прокручивая» их в окне при помощи кнопок со стрелками.

Вот как программа создает элемент управления NumericUpDown:

this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();

По умолчанию мастер форм инициализирует элемент управления NumericUpDown следующим образом:

this.numericUpDown1.Location = new System.Drawing.Point(160, 232);
this.numericUpDown1.Name = " numericUpDown1";
this.numericUpDown1.Size = new System.Drawing.Size(112, 20);
this.numericUpDown1.TabIndex = 4;

Вы можете выполнить дополнительные настройки, отредактировав соответствующие свойства.

Прежде всего, при помощи свойства Hexadecimal можно переключить элемент управления NumericUpDown в режим ввода шестнадцатеричных чисел, если приравнять этому свойству значение true.

Свойство DecimalPlaces задает количество цифр после десятичной точки. Присвоив значению ThousandsSeparator значение true, можно включить режим выделения разрядов тысяч.

Величина инкремента и декремента задается свойством Increment, а минимальное и максимальное значения — при помощи свойств Minimum и Maximum, соответственно.

Для того чтобы получить текущее значение, установленное пользователем в окне элемента управления NumericUpDown, воспользуйтесь свойством Value:

str += " \nСписок NumericUpDown: " + numericUpDown1.Value;

На рис. 6-15 мы показали результат просмотра состояния всех списков, включая списки DomainUpDown и NumericUpDown.

Рис. 6-15. Теперь программа обрабатывает все списки

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

Элемент управления TrackBar представляет собой шкалу с движком, с помощью которого пользователь может изменять (регулировать) численное значение. Это может быть уровень громкости, баланс звуковых каналов, насыщенность отдельных компонентов цвета, яркость и пр.

Движок элемента управления TrackBar можно передвигать мышью, клавишами перемещения курсора, а также клавишами Home, End, PgUp и PgDn. При перемещении движка создаются события Scroll.

Помимо движка, в окне элемента управления TrackBar есть деления. Они отображаются в виде коротких штрихов, расположенных на равном расстоянии друг от друга (рис. 6-16).

Вы можете выбрать горизонтальное или вертикальное расположение окна TrackBar. Деления могут находиться с любой стороны, с обеих сторон или их может не быть совсем.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.