Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 179

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 173 174 175 176 177 178 < 179 > 180 181 182 183 184 185 .. 404 >> Следующая


HoveControls{)) ¦

)

private void OnSizeChanged(object sender. System.EventArgs e)

(

KoveControlB();

>

Метод MoveControia () вызывается для изменения местоположения управляющих элементов. Следует рассмотреть этот метод, после чего протестировать работу управляющего элемента еще раз:

private void MoveControls I)

(

switch (mPosition)

( ¦ case PositionEnum.Below:

It Располагаем Textbox таким образом, чтобы его верхний // край находился непосредственно под надписью
Дополнительные возможности Windows Form

379

this. txtLabelText .Top =• thi s. lblTextBox, Bottom; this.txtLabelText.Left = this.lblTextBox.Left;

11 Изменяем ширину Textbox, делая ее равной ширине ' // управляющего элемента this.txtLabelText.Width = this.Width; this.Height • txtLabelText.Height + lblTextBox.Height; break;

case PositionEnum.Right:

t! Располагаем Textbox тпхиы образом, чтобы его верхний // край совпадал с верхним краем надписи txtLabelText.Тор * lblTextBox.Тор;

// Если попя обладают кулевым значением, то Textbox // располагается непосредственно рядом с надписью

if (mTextboxMargi* с= 0) .

(

int width ¦ this.Width-lblTextBox.Width-3; txtLabelText.Left * lblTextBox Right +3;

¦ txtLabelText.Width = width;

)

else

. (

¦ // Если поля обладают ненулевым значением, то Textbox

// располагается в месте, определенном пользователем txtLabelText.Left = mTextboxMargin; txtLabelText.Width = this.Right-mTextboxMargin;

)

break;

J

’ 1

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

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

Теперь можно протестировать управляющий элемент.

Отладка пользовательских управляющих элементов

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

Глава 14

Средству управления требуется некоторый контейнер, в котором оно будет выводиться, и нам придется такой контейнер ему предоставить. Мы сделаем это, создав проект Windows Application.

Практикум: отладка пользовательских управляющих элементов

1. В открытом проекте LabelTextbox выберите Files | New Project

н воспользуйтесь опцией для создания нового проекта Windows Application. Назовите этот проект LabeiTextboxTest.

Щелкните мышью на Add to Solution. Нажмите ОК.

В Solution Explorer открыто сразу два проекта. Название первого — LabelTextbox — выведено на чистой поверхности. Это означает, что если мы захотим запустить наше решение, то отладчик попытается использовать проект по созданию управляющего элемента в качестве стартового проекта. Это закончится неудачей, поскольку проект по созданию управляющего элемента не является независимым.

Для того чтобы зафиксировать этот факт, щелкните правой кнопкой мыши на имени нового проекта — LabeiTextboxTest и выберите пункт Set as Sartup Project (использовать в качестве стартового проекта). На этот раз, если вы запустите решение, приложение Windows начнет выполняться п никаких ошибок ие возникнет.

2. Для того чтобы передать приложению Windows информацию

о создаваемом нами управляющем элементе, необходимо включить ссылку на этот управляющий элемент. Щелкните правой кнопкой мыши на заголовке References в Solution Explorer под проектом LabeiTextboxTest и выберите пункт Add References,...

3. Выберите вкладку с именем Projects, Раскроется список, в котором содержится запись о проекте по созданию управляющего элемента. Для того чтобы добавить ссылку на проект, щелкните мышью сначала на пункте Select, а затем на ОК.

4. Добавьте к форме управляющий элемент ctlLabelTextbox, дважды щелкнув на нем мышью, Замечание: если прн попытке дважды щелкнуть мышью на ctlLabelTextbox вы получите сообщение об ошибке, то попробуйте поступить следующим образом — щелкните правой КНОПКОЙ МЫШИ на LabelTextbox в Solution Explorer

и выберите пункт Remove. Повторите действия, предусмотренные шагом 3, только вместо выбора проекта с помощью вкладки Projects щелкните мышью на пункте Browse и найдите местонахождение DLL с именем LabeiTextbox.dll. Выберите ее и нажмите ОК.
Предыдущая << 1 .. 173 174 175 176 177 178 < 179 > 180 181 182 183 184 185 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.