Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Тут можно читать онлайн Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2007
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    ISBN 5-8459-1124-9
  • Рейтинг:
    3.2/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание краткое содержание

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - описание и краткое содержание, автор Эндрю Троелсен, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этой книге содержится описание базовых принципов функционирования платформы .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-е издание - читать онлайн бесплатно полную версию (весь текст целиком)

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - читать книгу онлайн бесплатно, автор Эндрю Троелсен
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Замечание.Чтобы узнать больше о разработке пользовательских элементов управления Windows Forms, обратитесь к книге Matthew MacDonald, User Interfaces In C#: Windows Forms and Custom Controls (Apress, 2002).

Исходный код. Проект CarControlLibrary размещен в подкаталоге, соответствующем главе 21.

Создание пользовательских диалоговых окон

Теперь, когда вы понимаете роль базовых элементов управления Windows Forms и суть процесса построения пользовательских элементов управления, давайте рассмотрим вопрос создания пользовательских диалоговых окон. Здесь хорошей вестью является то, что все уже известное вам о Windows Forms оказывается непосредственно применимым и к случаю программировании диалоговых окон. В общем и целом, создание (и отображение) диалоговых окон ничуть не более сложно, чем добавление в проект новой формы.

В пространстве имен System.Windows.Forms для этого нет специальною базового класса. Диалоговое окно – это просто "специальная" форма. Например, многие диалоговые, окна не позволяют менять свои размеры, поэтому для их свойства FormBorderStyle выбирается значение FormBorderStyle.FixedDialog. Также, в диалоговых окнах свойства MinimizeBox и MaximizeBox обычно равны false (ложь). В этим случае вид диалогового окна вообще является фиксированным, Наконец, если установить значение false для свойства ShowInTaskbar, форме будет запрещено появляться в панели задач Windows XP.

Чтобы продемонстрировать возможности работы с диалоговыми окнами, создайте новое Windows-приложение с именем SimpleModalDialog. Главный тип Form будет поддерживать объект MenuStrip, содержащий пункты меню Файл→Выход и Сервис→Настройка. Постройте этот пользовательский интерфейс и обработайте событие Click для пунктов меню Выход и Настройка. Также определите член-переменную строкового типа (с именем userMessage) в рамках главного типа Form и отобразите соответствующие данные в обработчике события Paint главной формы. Вот как выглядит соответствующий программный код файла MainForm.cs.

public partial class MainWindow: Form {

private string userMessage = "Сообщение, заданное по умолчанию";

public MainWindow() {

InitializeComponent();

}

private void exitToolStripMenuItem_Click(object sender, EventArgs e) {

Application.Exit();

}

private void configureToolStripMenuItem_Click(obiect sender, EventArgs e) {

// Этот метод будет реализован чуть позже…

}

private void MainWindow_Paint(object sender, PaintEventArgs e) {

Graphics g = e.Graphics;

g.DrawString(userMessage, new Font("Times New Roman", 24), Brushes.DarkBlue, 50, 50);

}

}

Теперь добавьте в текущий проект новый объект Form с именем UserMessageDialog.cs с помощью выбора Project→Add Windows Form из меню. Установите для свойств ShowInTaskbar, MinimizeBox и MaximizeBox значения false. Затем постройте пользовательский интерфейс, состоящий из двух типов Button (для кнопок OK и Отмена), одного TextBox (чтобы предоставить пользователю возможность ввести сообщение) и элемента Label с инструкцией. Один возможный вариант показан на рис. 21.35.

Рис 2135 Пользовательское диалоговое окно Наконец откройте доступ к - фото 309

Рис. 21.35. Пользовательское диалоговое окно

Наконец, откройте доступ к значению Text элемента TextBox формы с помощью пользовательского свойства с именем Message.

public partial class UserMessageDialog: Form {

public UserMessageDialog() {

InitializeComponent();

}

public string Message {

set { txtUserInput.Text = value; }

get { return txtUserInput.Text; }

}

}

Свойство DialogResult

В качестве заключительного задания при создании пользовательского интерфейса выберите кнопку OK в окне проектирования формы и найдите свойство DialogResult. Назначьте DialogResult.OK кнопке OK и DialogResult.Cancel – кнопке Отмена. Формально говоря, вы можете назначить свойству DialogResult любое значение из перечня DialogResult.

public enum System.Windows.Forms.DialogResult {

Abort, Cancel, Ignore, No,

None, OK, Retry, Yes

}

Но что же означает присваивание значения свойству DialogResult элемента Button? Это свойство может быть назначено для любого типа Button (как и для самой формы), и оно позволяет родительской форме определить, какую из кнопок выбрал конечный пользователь. Для примера измените обработчик меню Сервис→ Настройка в рамках типа MainForm так, как предлагается ниже,

private void configureToolStripMenuIteimClick(object sender, EventArgs e) {

// Создание экземпляра UserMessageDialog.

UserMessageDialog dlg = new UserMessageDialog();

// Размещение текущего сообщения в TextBox.

dlg.Message = userMessage;

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

if (DialogResult.OK == dlg.ShowDialog()) {

userMessage = dlg.Message;

Invalidate();

}

// Лучше, чтобы очистку внутренних элементов выполняло само

// диалоговое окно, не дожидаясь сборщика мусора.

dlg.Dispose();

}

Здесь UserMessageDialog отображается с помощью вызова ShowDialog(). Этот метод запустит форму в виде модального диалогового окна, а это, как вы знаете, означает, что пользователь не сможет перейти к главной форме, пока диалоговое окно не будет закрыто. После закрытия диалогового окна пользователем (с помощью щелчка на кнопке OK или на кнопке Отмена), форма станет невидимой, но все еще будет оставаться в памяти. Поэтому вы можете запросить у экземпляра UserMessageDialog (с именем dlg) информацию о новом значении Message в том случае, когда пользователь щелкнул на кнопке OK. В этом случае вы отображаете новое сообщение, иначе не делаете ничего.

Замечание. Чтобы отобразить немодальное диалоговое окно (которое позволяет переходить от родительской формы к диалоговой и обратно), следует вызвать Show(), а не ShowDialog().

Наследование форм

Одним из наиболее привлекательных аспектов построения диалоговых окон в Windows Forms является наследование форм. Вы, несомненно, знаете, что наследование является одним из базовых принципов ООП, который позволяет одному классу расширить функциональность другого. Обычно, когда говорят о наследовании, представляют один тип (например, SportsCar) без графического интерфейса, получающийся из другого типа (например, Car), также не имеющего графического интерфейса. Однако в Windows Forms оказывается вполне возможным получение одной формы из другой, сохранив в процессе наследования элементы базового класса и их реализации.

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

Для примера предположим, что вы хотите создать подкласс класса UserMessageDialog, чтобы в новом диалоговом окне пользователь имел возможность указать, что сообщение должно отображаться курсивом. Для этого выберите Project→Add Windows Form из меню, но на этот раз добавьте новую форму Inherited Form (Наследуемая форма), назначив ей имя ItalicUserMessageDialog.cs (см. рис. 21.36).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Эндрю Троелсен читать все книги автора по порядку

Эндрю Троелсен - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание отзывы


Отзывы читателей о книге ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание, автор: Эндрю Троелсен. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x