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

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 362 363 364 365 366 367 < 368 > 369 370 371 372 373 374 .. 404 >> Следующая


answerLabel.Sire ¦ new Syatem,Drawing-Size(200, 16);

В качестве цвета фона задается оттенок белого:

answerLabel.BackColor « Color.AntiqueWhitei

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

answerControls[i-1] = answerLabelt
Практический пример 1 — web-сайт для проведения опросов

783

Наконец, используется метод Add о свойства controls формы для включения надписи в форму:

Controls.Add(anewerLabel);

)

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

Обратите внимание на то, что приложение связалось с web-сервером и запросило у него значение общего числа ответов. И хотя в данном примере приложение Windows (poIId) и web-служба (внутри poiiw) выполняются на одной и той же машине, они могут быть разнесены по разным машинам путем внесения весьма незначительных изменений.

Теперь включим управляющие элементы, которые отвечают за вывод числа голосов в более наглядной графической форме. Приведенный ниже код — это следующая часть конструктора Formi.cs, Этот код практически идентичен рассмотреному, за исключением того, что надписи сдвигаются еще дальше вправо (на 220 пикселей вместо 8), а ссылки на них помещаются в массив, называющийся votecontrois и описываемый на уровне класса следующим образом:

private Label[]voteControle>

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

voteControlg = new Label[myAnswerCount]; fordnt i=l;i<= myAnewerCount;i++)

{

Labi. voteLabel = new Label () >

voteeLabel.Location = new S item,Drawing.Point(220, 37+(20*i));

votesLabel.Size = new System.Drawing,Size<200, 16)j

voteeLabel.BackCQlor = Color. AntiqjieWhite;

' voteControls[i-1] * votssLabel;

Controls. Add(voteaLabej);

Добавив этот код, мы сможем увидеть, что теперь в форме присутствуют два столбца управляющих элементов (см. рис. слева).

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

voteBarControls ОПИСЬШЗбТСЯ НЯ

уровне класса таким образом:

ЁЯ Poll Results Tool

tdLnHngjHiJJ dot* -Totad vnittO' ¦

l iiul
Load! olldt _
T olal votts; '0


private РгоягеваВаг[] voteBarControls.
784

Практический пример

В конструктор формы необходимо добавить следующее: voteBarConLrols “ new ProgressBarJmyAnowerCount]t

Далее мы проходим один раз в цикле все ответы — точно так же, как для предшествующих управляющих элементов Label:

for tint i»lj i<= gy AnswerCount;i++)

Затем для формы создается управляющий элемент ProgreesBar:

ProgressBar progressBar ” new ProgreesBar {);

После этого создается объект point, который используется для задании местоположения управляющих элементов ProgressBar о форме. Каждая линейна графического представления рисуется в 310 пикселях от левого края и в 37 пикселях от верхнего края плюс еще 20 пикселей вниз для каждой очередной линейки. Они оказываются выведенными вровень с двумя определенными ранее столбцами управляющих элементов Label: .

ProgressBar.Location = new System.Drawing.Point(310, 37+(20*i))j

В качестве минимального значения для линейки графического представления задается значение, равное нулю. Позднее, в качестве максимального значения мы зададим наибольшее количество голосов, отданное за какой-либо нз ответов:

. ProgressBar,Minimum = 0j

Далее определяются ширина лннейки графического представления, равная 103 пикселям, и ее высота, равную 16 пикселям:

ProgressBar.Size = new System.Drawing.Size(10Л, 16);

В завершение ссылка на управляющий элемент заносится в массив линеек графического представления, а сама линейка добавляется в форму:

voteBarControls[i-1] = progressBar;

Controls.Add(progressBar);

^I

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

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

this.Height = 87 + (20*myftnswerCoimtt ; this.Width * 42B;

gjftfl n^iultb Taol

. Loading pall data... TotJl vc;-r.: .0


Практический пример 1 — web-сайт для проведения опросов_______________________785

После создания формы встает задача наполнить ее конкретными данными, прн этом требуется постоянно обновлять ее содержимое. С этой целью нужно создать специальный инструмент, который будет запрашивать данные с web-сайта каждые несколько секунд. В состав .NET включен объект с именем Timer (таймер), которым мы и воспользуемся. Прн использовании объекта Timer требуется задать интервал времени и вызываемый метод. Каждый раз в момент истечения интервала времени будет вызываться указанный метод, поэтому все, что требуется,— это написать такой метод и запустить таймер. Метод, который мы собираемся создавать для получения данных от web-службы и переноса их в управляющие элементы формы, называется GetPollData!), ¦
Предыдущая << 1 .. 362 363 364 365 366 367 < 368 > 369 370 371 372 373 374 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

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

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

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

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