Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lec

.pdf
Скачиваний:
26
Добавлен:
24.03.2015
Размер:
3.43 Mб
Скачать

Список закладок в несколько строк:

2

рис.20

Редактирование свойств TabControl (см. 2).

Как выбирать TabControl или конкретную страницу TabPage? Ответ: надо выделять соответствующий объект.

Редактирование свойств страницы:

рис.21

2-ой способ. Используя свойство TabPages (3).

301

3

рис.22

Добавление ЭУ на вкладку и обработка событий осуществляется обычным образом. Все элементы управления, размещенные на странице, принадлежат коллекции ЭУ этой страницы.

рис.22

Элемент управления CheckBox (флажок)

302

Флажок в виде галочки отмечает выбор пользователя или умалчиваемое значение.

Если свойство ThreeState установлено в true, то свойство CheckState элемента CheckBox может принимать одно из значений:

Checked – элемент отмечен;

Unchecked – элемент не отмечен;

Indeterminate – элемент не доступен.

Для получения текущего состояния элемента используется свойство

Checked.

if ( checkBox1.Checked)

{

. . .

}

Элемент управления RadioButton (переключатель)

Элементы управления Windows Forms RadioButton представляют собой набор как минимум из двух взаимоисключающих вариантов выбора для пользователя.

Группирование элементов.

303

рис.23

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

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

GroupBox или Panel.

Чтобы получить или установить состояние RadioButton, используйте свойство Checked. Вид переключателя можно изменять с помощью свойства Appearance - его можно задать в виде кнопки с фиксацией или в виде стандартного переключателя.

Пример.

Определение состояние флажков группы groupBox1. Группа, кроме флажков, включает и другие ЭУ. Свойство Controls элемента GroupBox возвращает коллекцию элементов управления, включенных в группу.

for ( int i=0; i < groupBox1.Controls.Count; i++)

{

if (groupBox1.Controls[i] is RadioButton)

{

RadioButton rb = (RadioButton) groupBox1.Controls[i];

if ( rb.Checked )

{

txt = rb.Text; break;

}

}

}

304

РАБОТА С ТЕКСТОМ

Диалоговые окна, TextBox, ErrorProvider, RichTextBox, ListBox, ComboBox, CheckListBox, DomainUpDown, NumericUpDown, DateTimePicker, MonthCalendar, DataGridView

1. Диалоговые окна

Диалоговое окно открытия файла - OpenFileDialog ЭУ отображается в панели компонентов.

рис.1

В конструкторе Form1():

OpenFileDialog openFileDialog1 = new OpenFileDialog();

Пример:

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

{

Stream myStream;

// OpenFileDialog openFileDialog1 = new OpenFileDialog();

openFileDialog1.InitialDirectory = "c:\\"; openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; openFileDialog1.FilterIndex = 2; openFileDialog1.RestoreDirectory = true;

if (openFileDialog1.ShowDialog() == DialogResult.OK &&

305

openFileDialog1.FileName.Length

> 0)

{

myStream = openFileDialog1.OpenFile();

// Только для чтения

if (myStream != null)

{

// Сюда следует вставить код для чтения потока. myStream.Close();

}

}

}

Свойства и методы класса OpenFileDialog:

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

DefaultExt - возвращает или устанавливает расширение имени файла по умолчанию.

Filter - возвращает или устанавливает текущую строку фильтра имен файлов, которая отображается в поле «Тип файлов» диалогового окна.

FilterIndex - возвращает или устанавливает индекс фильтра, выбранного в настоящий момент в диалоговом окне файла.

RestoreDirectory - возвращает или задает bool-значение, показывающее, восстанавливает ли диалоговое окно текущую папку перед закрытием диалога.

OpenFile() - открывает выбранный пользователем файл в режиме «только чтение». Файл задается свойством FileName.

FileName.Length – имя файла и длина имени файла.

Диалоговое окно сохранения файла - SaveFileDialog

В конструкторе VS:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();

Далее - аналогично диалогу OpenFileDialog.

// Выводим спецификацию файла и фильтр saveFileDialog1.DefaultExt = "*.rtf";

saveFileDialog1.Filter = "RTF Files|*.rtf";

if (saveFileDialog1.ShowDialog() == DialogResult.OK && saveFileDialog1.FileName.Length >

0)

{

// Сюда следует вставить код для открытия файла с именем

306

// saveFileDialog1.FileName и вывода информации в файл

}

Диалоговое окно для выбора папки – FolderBrowserDialog

рис.2

Обычно после создания нового FolderBrowserDialog RootFolder уста-

навливается в расположение, с которого начинается обзор. Дополнительно имеется возможность установить для SelectedPath аб-

солютный путь вложенной папки RootFolder, выбираемой изначально. Также имеется возможность дополнительно установить свойство

Description, чтобы предоставить пользователю дополнительные инструкции.

Наконец, вызывается метод ShowDialog для отображения диалогового окна для пользователя.

Когда диалоговое окно закрыто, а результатом диалога из ShowDialog является DialogResult.OK, SelectedPath будет являться строкой, содержащей путь к выбранной папке.

Имеется возможность использовать свойство ShowNewFolderButton для управления, если пользователь может создавать новые папки с помощью кнопки New Folder.

private FolderBrowserDialog folderBrowserDialog1;

folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();

// Show the FolderBrowserDialog.

folderBrowserDialog1.Description = "Выберите копируемую папку...";

307

folderBrowserDialog1.SelectedPath = "C:\\Temp "; DialogResult result = folderBrowserDialog1.ShowDialog(); if( result == DialogResult.OK )

folderName = folderBrowserDialog1.SelectedPath;

Диалоговое окно выбора шрифта - FontDialog

Отображает диалоговое окно для задания шрифта и его атрибутов.

рис.3

Пример. Изменение шрифта и цвета текста ЭУ label1.

private void шрифт_Click(object sender, EventArgs e)

{

fontDialog1.ShowColor = true; // Разрешить вывод списка цветов

fontDialog1.Font = label1.Font;

// Текущие

 

fontDialog1.Color = label1.ForeColor;

//

значения

if ( fontDialog1.ShowDialog() == DialogResult.OK )

 

{

 

 

label1.Font = fontDialog1.Font;

// Новый шрифт

 

label1.ForeColor = fontDialog1.Color;

// Новый цвет шрифта

}

 

 

}

Диалоговое окно выбора цвета - ColorDialog

308

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

рис. 5 private void сектор1_Click(object sender, EventArgs e)

{

colorDialog1.Color = color1;

// Текущий цвет в рамке

if (colorDialog1.ShowDialog() == DialogResult.OK)

{

 

color1 = colorDialog1.Color;

// Новый цвет

}

 

}

2. Элемент управления TextBox

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

309

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

Вэлементе управления TextBox можно вводить или отображать текст только в одном формате. Для отображения текста в различных форматах следует использовать элемент управления RichTextBox.

Текст, отображаемый в элементе управления, содержится в свойстве Text. По умолчанию в текстовом поле можно ввести до 2048 знаков.

Если свойству MultiLine присвоить значение true, это позволит вводить до 32 килобайт текста.

textBox1.Text = "Строка текста";

Выделение текста программными средствами

Свойство SelectionStart определяет положение курсора в текстовой строке, причем 0 указывает крайнюю левую позицию.

Свойство SelectionLength определяет количество выделяемых символов текста.

В следующем примере выделяется содержимое всего текстового поля textBox1 при обработке события Enter.

private void textBox1_Enter (object sender, EventArgs e)

{

textBox1.SelectionStart = 0; textBox1.SelectionLength = textBox1.Text.Length; str = textBox1.SelectedText;

}

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

Просмотр нескольких строк

По умолчанию в элементе управления Windows Forms TextBox отображается одна строка текста без полос прокрутки.

Если длина текста превышает размер доступного пространства, отображается лишь часть текста. Эту стандартную настройку можно изменить, присваивая соответствующие значения свойствам MultiLine, WordWrap и ScrollBars.

WordWrap - показывает, переносятся ли автоматически в начало следующей строки слова текста по достижении границы многострочного текстового поля.

310

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]