Изграждане на графичен потребителски интерфейс с Windows Forms



страница4/16
Дата27.09.2016
Размер1.09 Mb.
#10985
1   2   3   4   5   6   7   8   9   ...   16

Класът ScrollableControl


Класът ScrollableControl е наследник на класа Control и добавя към него функционалност за скролиране. Ето по-важните му свойства:

  • AutoScroll – задава дали при нужда контролата ще получи автома­тично скролиращи ленти.

  • HScroll, VScroll – задават дали контролата да има хоризонтална и вертикална скролираща лента.

Класът ContainerControl


Класът ContainerControl осигурява функционалност за управление на фокуса. Свойството му ActiveControl съдържа във всеки един момент кон­тролата, която е на фокус.

Форми, прозорци и диалози


Формите и диалозите в Windows Forms са прозорци, които съдържат контроли. Те могат да бъдат различни видове: да имат или нямат рамка, да са модални или не, да са разтегливи или не, да са над всички други прозорци или не и т.н.

Класът System.Windows.Forms.Form


Класът System.Windows.Forms.Form е базов клас за всички форми в Windows Forms GUI приложенията. Той представлява графична форма - прозорец или диалогова кутия, която съдържа в себе си контроли и управлява навигацията между тях.

Повечето прозорци имат рамка и специални бутони за затваряне, преместване и други стандартни операции. Външният вид на прозорците и стандартните контроли по тяхната рамка зависят от настройките на графичната среда на операционната система. Програмистът има само частичен контрол над външния вид на прозорците.



Класът Form е наследник на класовете Control, ScrollableControl и ContainerControl и наследява от тях цялата им функционалност, всич­ките им свойства, събития и методи.

По-важни свойства на класа Form


Всички прозорци и диалози в Windows Forms наследяват класа Form и придобиват от него следните свойства:

  • FormBorderStyle – указва типа на рамката на формата. По-често използваните типове рамка са следните:

    • Sizable – стандартна разширяема рамка. Потребителят може да променя размерите на такива рамки.

    • FixedDialog – диалогова рамка с фиксирани размери. Такива рамки не могат да се преоразмеряват от потребителите.

    • None – липса на рамка. Цялото пространство на формата се използва за нейното съдържание.

    • FixedToolWindow – кутия с инструменти с фиксиран размер. Рамката не може да се преоразмерява от потребителите и е малко по-тясна от стандартната. Прозорци с такива рамки не се виждат в лентата на задачите (taskbar) на Windows Explorer и при натискане на [Alt-Tab].

  • Controls – съдържа списък с контролите разположени във формата. От реда на контролите в този списък зависи редът, в който те се чертаят на екрана (Z-order) и реда, в който се преминава от една контрола към друга при навигация (tab order). Редът на преместване на фокуса може да се настройва и допълнително от свойствата TabStop и TabIndex.

  • Text – заглавие на прозореца. Използва се Unicode, т.е. можем да използваме, кирилица, латиница, гръцки и други азбуки от Unicode стандарта.

  • Size – размери на прозореца (ширина и височина). Включва цялото пространство, заемано от формата (рамката + вътрешността).

  • ClientSize – размери на вътрешността на формата (без рамката й).

  • AcceptButton – бутон по подразбиране. Този бутон се натиска авто­матично, когато потребителят натисне клавиша [Enter], независимо от това в коя контрола от формата е фокусът в този момент. Целта е да се улесни потребителя при попълването на форми с информация.

  • ActiveControlсъдържа контролата, която държи фокуса. При на това свойство промяна се променя текущата фокусирана контрола.

  • ControlBox – задава дали формата трябва да съдържа стандартните контроли за затваряне, минимизация и т. н.

  • Icon – задава икона на прозореца.

  • KeyPreview – ако се зададе true, позволява формата да обработва събитията от клавиатурата преди да ги предаде на фокусираната контрола. Ако стойността е false, всяко събитие от клавиатурата се обработва само от контролата, която е на фокус.

  • MinimumSize, MaximumSize – задава ограничения за размера на формата – максимална и минимална ширина и височина. При опит за преоразмеряване не се позволява потребителят да задава размер, който не е в тези граници.

  • Modal – връща дали формата е модална. Когато една форма е модал­на, докато тя е активна, потребителят не може да работи с други форми от същото приложение. Всеки опит за преминаване в друга форма не успява докато потребителят не затвори модалната форма. Ако дадено приложение покаже едновременно няколко форми, които не са модални, потребителят ще може да преминава свободно между тях, без да ги затваря. Свойството Modal е само за четене. Модал­ността може да се задава първоначално, но не може да се променя след като формата е вече показана.

  • Opacity – задава прозрачност на формата (число от 0.00 до 1.00). Възможно е да не се поддържа или да работи много бавно при някои по-стари видеоадаптери.

  • MdiChildren – в MDI режим извлича / задава подчинените форми на текущата форма. MDI (Multiple-Document Interface) е режим, при който дадена форма на приложението (обикновено главната форма) може да съдържа в себе си други форми, които са разположени в нейното работно пространство (като обикновени контроли).

  • MdiParent – в MDI режим извлича / задава формата, която е собст­веник на текущата форма. Важи само за подчинени (child) форми.

  • TopMost – задава дали формата стои над всички други прозорци (always on top). В такъв режим дори ако формата не е активна, тя остава видима и стои над всички останали форми.

  • WindowState – извлича състоянието на формата. Формата във всеки един момент е в някое от състоянията на изброения тип FormWindowState – нормално, минимизирано или максимизирано. По подразбиране формите са в нормално състояние – имат нормалния си размер. В максимизирано състояние формите временно променят размера си и заемат целия екран без лентата за задачи (task bar) на Windows Explorer. В минимизирано състояние формите са скрити и се виждат само в лентата за задачи (task bar).

По-важни методи на класа Form


Прозорците и диалозите в Windows Forms наследяват от класа Form следните базови методи:

  • Show() – показва формата и я прави активна (фокусира я). Формата се показва в немодален режим. Извикването на този метод е еквива­лентно на присвояването Visible=true. Изпълнението на този метод приключва веднага.

  • ShowDialog() – показва формата в модален режим и след като тя бъде затворена връща като резултат стойност от тип DialogResult. Тази стойност съдържа информация за причината за затваряне на формата. Изпълнението на метода ShowDialog() приключва едва след затваряне на формата, т.е. методът е блокиращ. По-нататък в настоящата тема ще обърнем специално внимание на извикването на модални форми и получаването на стойностите от контролите в тях.

  • Close() – затваря формата. Когато една форма бъде затворена, тя изчезва и се освобождават използваните от нея ресурси. След като една форма бъде затворена, тя не може да бъде повече показвана. За временно скриване на форма трябва да се използва методът Hide(), а не Close().

  • LayoutMdi(…) – в MDI режим този метод пренарежда дъщерните (child) форми, съдържащи се в текущата форма. Начинът на прена­реждане се задава от програмиста. Поддържат се няколко вида пренареждане - каскадно, хоризонтално, вертикално и др.

По-важни събития на класа Form


Всички прозорци и диалози в Windows Forms поддържат съвкупност от стандартни събития, които наследяват от класа Form:

  • Activated / Deactivate – извикват се при активиране / деакти­виране на формата (когато формата получи / загуби фокуса).

  • Closing – извиква се при опит за затваряне на формата (например когато потребителят натисне стандартния бутон за затваряне). Реа­лизацията може да предизвиква отказване на затварянето. Събити­ето подава в аргументите си инстанция на класа CancelEventArgs, която има булево свойство Cancel, чрез което може да се откаже затварянето.

  • Load – извиква се еднократно преди първото показване на формата. Може се ползва за инициализиране на състоянието на контролите.



Сподели с приятели:
1   2   3   4   5   6   7   8   9   ...   16




©obuch.info 2024
отнасят до администрацията

    Начална страница