Студопедия

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

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

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






Элементы управления CheckBox, CheckedListBox, ErrorProvider.






CheckBox (флажок) - это небольшой прямоугольник, расположенный слева от текста. Однако если свойству Appearance задать значение Арреarance.Button (по умолчанию Appearance.Normal), элемент управления будет схож с кнопкой, за исключением того, что будет по щелчку «залипать» и «отлипать». Вид элемента управления CheckBox можно изменить, задав свойству CheckAlign значение из перечисления ContentAlignment. По умолчанию используется значение ContentAlignment.MiddleLeft, то есть флажок по вертикали выравнивается по оси текста и располагается слева от него.

Булево свойство Checked указывает текущее состояние флажка — «установлен» или «сброшен». Событие CheckedChanged информирует об изменении состояния.

По умолчанию значение AutoCheck равно true, то есть по команде с клавиатуры или по щелчку мыши кнопка автоматически изменяет свое состояние и инициирует событие CheckedChanged. Если отклик необходим при любом изменении состояния флажка (например, для активизации и отключения других элементов управления), установите обработчик события CheckedChanged. Если отклик для каждого изменения не нужен, обычно достаточно получить значение свойства Checked, когда пользователь щелчком кнопку ОК закрывает форму.

Свойству AutoCheck обычно задают false, когда планируют захватывать событие

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

Иногда недостаточно одного состояния флажка — установленый или сброшенный, - требуется промежуточное состояние. Допустим, CheckBox управляет курсивным начертанием текста. Если в выбранном тексте есть и курсив, и обычный шрифт, CheckBox должен находиться в «неопределенном» состоянии (c другой стороны, если выбранный текст не может выделяться курсивом, CheckBox должен быть отключен).

Для использования этого третьего состояния, прежде всего, надо булеву свойству ThreeState присвоить значение true. Вместо свойства Checked нужно задействовать CheckState. Это значение из перечисления CheckState, состоящего из членов Unchecked, Checked и Indeterminate. Также, вместо установки обработчика CheckedChange, используют CheckStateChanged. Если вызвать метод EnableVisualStyles класса Application промежуточное состояние будет выглядеть как небольшой квадрат, в противном случае в элементе управления будет отображаться серый флажок.

Если AutoCheck равно true, по щелчку элемент управления будет по циклу менять свое состояние: «установлен-сброшен-неопределенный». Если необходим другой порядок, присвойте AutoCheck значение false и вручную закодируйте в обработчике события Click порядок смены значений CheckState.

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

В списках с флажками SelectionMode может принимать только значение SelectionMode. One или SelectionMode.None (В последнем варианте поведение элемента

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

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

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

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

Два прилагающихся к набору элементов метода Add позволяют при добавлении новых элементов автоматически устанавливать флажки. Состояние флажка определяется значением второго аргумента — true или false:

ckdlstbox.Add(" New Jersey", true);

Для определения состояния элемента управления можно использовать встречавшееся ранее при описании элементов управления Checkbox перечисление CheckState, содержащее члены Checked, Unchecked или Indeterminate:

ckdlstbox.Add(" New York", CheckState.Indeterminate);

Позже можно изменить состояние флажка, указав индекс элемента:

SetItemChecked(5, true)

Перечисление CheckState можно использовать при перегрузке метода:

SetItemCheckState(7, CheckState.Unchecked)

Свойства «только для чтения» CheckedIndices и CheckedItems предоставляют наборы целочисленных индексов или объекты, выбранные в данный момент. Чтобы получать информацию об изменении состояния флажка, нужно установить обработчик события ItemCheck в соответствии с делегатом ItemCheckEventHandler. Предоставляемый вместе с сообщением о событии объект ItemCbeckEventArgs содержит свойство Index элемента, а также значения CurrentValue и NewValue, выраженные членами перечисления CheckState.

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

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

Рассмотрим пример, в котором на форме расположен элемент TextBox и обработчик события TextChanged для этого элемента управления. Когда обработчик события TextChanged срабатывает, мы проверяем, была ли введена цифра. Если нет, то активируем ошибку через ErrorProvider. В противном случае очищаем ErrorProvider:

private void textBox1_TextChanged(object sender, EventArgs e)

{

// Determine if the TextBox has a digit character.

string text = textBox1.Text;

bool hasDigit = false;

foreach (char letter in text)

{

if (char.IsDigit(letter))

{

hasDigit = true;

break;

}

}

// Call SetError or Clear on the ErrorProvider.

if (! hasDigit)

{

errorProvider1.SetError(textBox1, " Needs to contain a digit");

}

else

{

errorProvider1.Clear();

}

}

Для включения элемента ErrorProvider используется метдод SetError, в который первым параметром передается название проверяемого элемента управления и вторым параметром - сообщение об ошибке.

ErrorProvider имеет два свойства для отображения " мигания". В BlinkRate указывается количество миллисекунд для каждой из вспышек значка. BlinkStyle позволяет включить или отключить мигание в целом. Как правило, для простых пользовательских интерфейсов мигание ErrorProvider лучше отключать, т.к. его итак будет легко увидеть.

С помощью ErrorProvider можно предупреждать пользователя о наличии нескольких ошибок одновременно.

Строки

Все строки в C# являются объектами.

Для работы со строками в языке C# используются 2 класса: String, StringBuilder.






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