Симон Робинсон - C# для профессионалов. Том II

Здесь есть возможность читать онлайн «Симон Робинсон - C# для профессионалов. Том II» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2003, ISBN: 2003, Издательство: Лори, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# для профессионалов. Том II: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# для профессионалов. Том II»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# для профессионалов
Для кого предназначена эта книга
Основные темы книги Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# для профессионалов. Том II», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Метод Form1.AddTypeбудет получать объект System.Typeи добавлять новый объект TypeButtonв форму. Во-первых, необходимо создать экземпляр TypeButtonи задать его свойство ControlTypeновым типом:

// AddType - добавить кнопку типа в компоновку ...

public void AddType(Type ControlType) {

// первое: создать новую кнопку типа ...

TypeButton button = new TypeButton();

button.ControlType = ControlType;

Во-вторых, нужно добавить TypeButtonв ArrayList, который содержит список кнопок:

// второе: добавить эту кнопку в массив

_buttons.Add(button);

После этого можно поместить в форму кнопку и добавить ее в список элементов управления формы:

// теперь разместим кнопку

button.Left = ButtonSpacing;

button.Width = ButtonWidth;

button.Top = _nextY;

button.Height = ButtonHeight;

// настроить следующее значение у ...

_nextY += (ButtonHeight + ButtonSpacing);

// вывести кнопку ...

this.Controls.Add(button);

Наконец, необходимо присоединить событие click(нажатие) кнопки таким образом, чтобы мы могли иметь экземпляр элемента управления, который он представляет:

// затем присоединяем обработчик события ...

button.Click += new EventHandler(this.ButtonClick);

}

Пока еще мы не создали ButtonClick, — сделаем это сейчас:

// ButtonClick — вызывается всякий раз при нажатии кнопки ...

protected void ButtonClick(object sender, System.EventArgs e) {

// преобразовать sender в кнопку типа ...

TypeButton button = (TypeButton)sender;

Нашей первой задачей является преобразование senderв TypeButton. Это позволит использовать CreateInstanceдля создания элемента управления. Если мы уже имеем элемент управления, необходимо сначала удалить его из списка элементов управления формы:

// если уже имеется содержащийся элемент управления, удалим его ...

if (_containedControl != null)

Controls.Remove(_containedControl);

Создаем элемент управления:

// создать экземпляр нового элемента управления...

_containedControl = button.CreateInstance();

Наконец, мы можем поместить элемент управления в форму.

// поместить элемент управления на форме ...

_containedControl.Left = ButtonWidth + (3 * ButtonSpacing);

_containedControl.Top = ButtonSpacing;

_containedControl.Width = this.Width - _containedControl.Left - (4 * ButtonSpacing);

_containedControl.Height = this.Height - (8 * ButtonSpacing);

this.Controls.Add(_containedControl);

}

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

Прежде чем можно будет увидеть окончательный вариант сделанного, необходимо добавить кнопку в форму. Используем элемент управления System Windows.Forms.DataGrid. Добавим следующий код в Form1:

private void Form1_Load(object sender, System.EventArgs e) {

// при загрузке добавить тип кнопки ...

DataGrid grid = new DataGrid();

AddType(grid.GetType());

}

Теперь закончим проект. Нажав на кнопку System.Windows.Forms.DataGrid, увидим:

Загрузка сборки Завершая этот пример покажем как можно загрузить сборку во - фото 191

Загрузка сборки

Завершая этот пример, покажем, как можно загрузить сборку во время выполнения, просмотреть сборку в поисках типов данных, которые являются произвольными из System.Windows.Forms.Control, и добавить кнопки для каждого найденного типа данных.

Чтобы загрузить сборку нам понадобится URL. Добавим следующий код в Form1_Load:

private void Form1_Load(object sender, System.EventArgs e) {

// при загрузке добавить тип кнопки ...

DataGrid grid = new DataGrid();

AddType(grid.GetType());

// найти имя нашей сборки

String filename = this.GetType().Module.Assembly.CodeBase;

Эта строка является обходной техникой для получения сборки, реализующей класс объекта, из которого вызывается код. В данном случае ее получают из URL сборки, содержащей Form1.

Нам нужно при загрузке сборки использовать try…catch, так как существуют процессы, которые могут пойти в этой процедуре неправильно. Мы используем общий метод на Assembly:

// проверить и загрузить сборку ...

try {

// используем LoadFrom ...

Assembly controlAssembly = Assembly.LoadFrom(filename);

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

// теперь получим список типов данных ...

foreach(Type testType in controlAssembly.GetTypes()) {

Далее хитрость состоит том, чтобы создать экземпляр проверяемого типа данных, но преобразовать его в Control. Так как все это погружено в другой блок try…catch, то при переходе к следующей строке мы знаем, что имеется полностью квалифицированный элемент управления.

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

Интервал:

Закладка:

Сделать

Похожие книги на «C# для профессионалов. Том II»

Представляем Вашему вниманию похожие книги на «C# для профессионалов. Том II» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# для профессионалов. Том II»

Обсуждение, отзывы о книге «C# для профессионалов. Том II» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x