Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
- Название:ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2007
- Город:Москва • Санкт-Петербург • Киев
- ISBN:ISBN 5-8459-1124-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание краткое содержание
В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML. Книга содержит множество примеров программного кода, призванного помочь читателю в освоении предлагаемого материала. Программный код примеров можно загрузить с Web-сайта издательства.
ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
private void txtNormal'Text_TextChanged(object sender, EventArgs e) {
txtUpperText.Text = txtNormalText.Text.ToUpper();
}

Рис. 21.19. Страница Panel
Теперь обработайте событие Click для каждой кнопки. Как вы можете догадаться, нужно просто скрыть или показать Panel (вместе со всеми содержащимися там элементами пользовательского интерфейса).
private void btnShowPanel_Click(object sender, EventArgs e) {
panelTextBoxes.Visible = true;
}
private void btnHidePanel_Click(object sender, EventArgs e) {
panelTextBoxes.Visible = false;
}
Если теперь выполнить программу и щелкнуть на той или другой кнопке в соответствующем окне, вы обнаружите, что содержимое Panel соответственно показывается и скрывается. Конечно, этот пример не производит слишком большого впечатления, но я уверен, что вы смогли увидеть его возможности. Например, вы можете иметь пункт меню или окно безопасности, способные предоставить пользователю "простой" или "сложный" набор элементов. Вместо того чтобы вручную устанавливать свойство Visible равным false (ложь) для множества элементов, вы можете группировать их в пределах Panel и соответственно установить одно свойство Visible.
Элементы UpDown
В рамках Windows Forms предлагается два элемента, функционирующие, как элементы управления с прокруткой (также известные, как элементы управления UpDown). Подобно ComboBox и ListBox, эти новые элементы также позволяют пользователю выбрать элемент из некоторого диапазона возможных элементов.
Разница в том, что при использовании элемента управления DomainUpDown или NumericUpDown варианты выбираются с помощью небольших стрелок, направляющих вверх и вниз. Взгляните, например, на рис. 21.20.

Рис. 21.20. Работа с типами UpDown
С учетом того, что вы уже освоили работу с подобными типами, вы не должны встретить особых сложностей при работе с элементами UpDown. Элемент DomainUpDown дает пользователю возможность сделать выбор из набора строковых данных. Элемент NumericUpDown позволяет выбрать подходящие значений из диапазона числовых данных. Каждый из этих элементов является прямым потомком общего базового класса UpDownBase. В табл. 21.7 описаны некоторые важные свойства этого класса.
Таблица 21.7.Свойства UpDownBase
Свойство | Описание |
---|---|
InterceptArrowKeys | Читает или устанавливает значение, являющееся индикатором того, что пользователю разрешено использовать стрелки вверх и вниз для выбора значений |
ReadOnly | Читает или устанавливает значение, являющееся индикатором того, что текст разрешается менять только с помощью стрелок вверх и вниз, но не с помощью ввода в элемент управления с клавиатуры с целью поиска данной строки |
Text | Читает или устанавливает текущий текст, отображаемый в элементе управления с прокруткой |
TextAlign | Читает или устанавливает значение, задающее параметры выравнивания текста в элементе управления с прокруткой |
UpDownAlign | Читает или устанавливает значение, задающее параметры выравнивания стрелок вверх и вниз в элементе управления с прокруткой, в соответствии со значениями перечня LeftRightAlignment |
Элемент управления DomainUpDown добавляет небольшой набор свойств, позволяющих конфигурировать и обрабатывать текстовые данные этого элемента (табл. 21.8).
Таблица 21.8.Свойства DomainUpDown
Свойство | Описание |
---|---|
Items | Позволяет получить доступ к множеству элементов, хранимых в данном элементе управления |
SelectedIndex | Возвращает индекс выбранного в настоящий момент элемента (отсчет начинается с нуля, значение -1 указывает отсутствие выбора) |
SelectedItem | Возвращает выбранный элемент (а не его индекс) |
Sorted | Индикатор необходимости упорядочения строк по алфавиту |
Wrap | Индикатор необходимости циклического возвращения к первому или последнему элементу, когда пользователь достигает крайних элементов списка |
Элемент NumericUpDown так же прост (табл. 21.9).
Таблица 21.9.Свойства NumericUpDown
Свойство | Описание |
---|---|
DecimalPlaces ThousandsSeparator Hexadecimal | Используются для указания правил отображения числовых данных |
Increment | Устанавливает числовое значение приращения для элемента управления при щелчке на стрелке вверх или вниз. Значением по умолчанию для приращения является 1 |
Minimum Maximum | Устанавливают верхнюю и нижнюю границы значений для элемента управления |
Value | Возвращает текущее значение элемента управления |
Вот та часть InitializeComponent (), которая задает конфигурацию NumericUpDown и DomainUpDown на этой странице.
private void InitializeComponent() {
…
//
// numericUpDown
//
…
this.numericUpDown.Maximum = new decimal(new int[] {5000, 0, 0, 0});
this.numericUpDown.Name = "numericUpDown";
this.numericUpDown.Thousands.Separator = true;
//
// domainUpDown
//
this.domainUpDown.Items.Add("Второй вариант");
this.domainUpDown.Items.Add("Последний вариант");
this.domainUpDown.Items.Add("Первый вариант");
this.domainUpDown.Items.Add("Третий вариант");
this.domainUpDown.Name = "domainUpDown";
this.domainUpDown.Sorted = true;
…
}
Обработчик события Click для типа Button этой страницы просто запрашивает у каждого типа его текущее значение и размещает его в рамках подходящего типа Label (с именем lblCurrSel) в виде форматированной строки, как показано ниже.
private void ntnGetSelections_Click(object sender, EventArgs e) {
// Получение информации от элементов UpDown.…
lblCurrSel.Text = string.Format("Строка: {0}\nЧисло: {1}", domainUpDown.Text, numericUpDown.Value);
}
Элемент ErrorProvider
В большинстве приложений Windows Forms приходится, так или иначе, проверять правильность пользовательского ввода. Это особенно касается диалоговых окон, поскольку вы должны информировать пользователя о том, что он сделал ошибку, прежде чем пользователь продолжит ввод. Тип ErrorProvider может использоваться для того, чтобы обеспечить пользователю визуальные подсказки в отношении ошибок ввода. Предположим, например, что у вас есть форма, содержащая элементы TextBox и Button. Если пользователь введет в TextBox более пяти символов и TextBox утрачивает фокус ввода, можно отобразить информацию, показанную на рис. 21.21.

Рис. 21.21 Действие ErrorProvider
Здесь вы обнаруживаете, что пользователь ввел более пяти символов, и в ответ размещаете небольшую пиктограмму ошибки (!) рядом с объектом TextBox. Если пользователь подведет указатель мыши к этой пиктограмме, появится "всплывающий" текст с описанием ошибки. Кроме того, этот элемент ErrorProvider сконфигурирован так, чтобы заставить пиктограмму "мигать", что усилит визуальное воздействие (конечно, без запуска приложения вы этого не увидите).
Читать дальшеИнтервал:
Закладка: