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



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

Менюта


Менютата са важно средство, което потребителят по удобен начин указва започването на дадена операция. Те са на практика стандарт при прило­женията с графичен потребителски интерфейс. В Windows Forms за работа с менюта се използват класовете MainMenu, ContextMenu и MenuItem.

MainMenu




MainMenu компонентата представлява стандартно падащо меню. Тя съдър­жа с себе си списък от MenuItem елементи, които представят отделните възможности за избор (команди) от менюто.

ContextMenu


ContextMenu компонентата представлява контекстно меню (popup меню), което се появява когато потребителят щракне с десния бутон на мишката върху контрола или някъде във формата. Тя съдържа списък от MenuItem елементи, представляващи отделните команди от менюто.

MenuItem


MenuItem елементите представляват отделните възможности за избор, показвани в MainMenu или ContextMenu. Всеки MenuItem елемент може да бъде команда в приложението или родителско меню за други елементи, (менютата могат да се влагат). По-важни събития и свойства на класа MenuItem са:

  • Text – задава заглавието на елемента, например "&New", "&Open…" или "-". Символът "&" задава горещ клавиш за бързо избиране на съответния елемент. Поставя се преди дадена буква от текста на елемента. Елемент от менюто с текст "-" задава разделител.

  • ShortCut – кратък клавиш асоцииран с този елемент. Например може да се укаже, че [Ctrl+S] съответства на елемента от менюто File | Open. В такъв случай указаната клавишна комбинация активи­ра този елемент от менюто, независимо кога е натисната, стига това да се е случило докато е активна формата.

  • Click – събитие, което се активира при избиране на елемента от менюто.

Ленти с инструменти


Лентите с инструменти са често използвани при приложенията с графичен интерфейс. Нека разгледаме стандартните средства на Windows Forms за работата с тях.

ToolBar




ToolBar контролата представлява лента с инструменти (с бутони). По-важни нейни свойства и събития са:

  • Buttons – съдържа списък от бутоните (ToolBarButton елементите), асоциирани с контролата.

  • ImageList – задава картинките за бутоните от лентата.

  • ButtonClick – събитие, активиращо се при натискане на бутон от лентата. Като параметър то приема ToolBarButtonClickEventArgs с информация кой бутон е бил натиснат.

Не е ясно по каква причина, но проектантите на библиотеката Windows Forms са направили работата с ленти с инструменти доста неудобна. Вместо всеки бутон от лентата да си има собствено събитие Click, има едно общо събитие цялата лента с инструменти, което се активира при натискане на някой от бутоните. Другият проблем е, че вместо всеки бутон да си има свойство Picture, картинките трябва да се слагат в ImageList компонента и да се ползват по индекс.

ToolBarButton


ToolBarButton компонентата представлява бутон от лентата с инструмен­ти. За всеки бутон от лентата може да се задава картинка, която да се изобразява върху него, текста за бутона както и някои други свойства като ToolTipText, който да се показва при задържане на показалеца на мишката върху бутона.

Задаването на изображение на ToolBarButton ста­ва като асоциираме ImageList с лентата с инструменти, в която се намира бутона, и след това зададем на свойството ImageIndex на бутона стойност с индекса на изо­бра­же­нието.


ImageList


ImageList компонентата съдържа списък с картинки. Тя често се използва от други компоненти като ListView, TreeView или ToolBar.

Статус ленти


Статус лентите са още една от типичните контроли в приложенията с графичен интерфейс. Те се използват за визуализация на информация, свързана със състоянието на приложението. Например в текстовите редак­тори много често в статус лентата се показва номерът на текущия ред и на колона.

StatusBar




StatusBar контролата представлява лента за състоянието. Тя обикновено се състои от StatusBarPanel обекти, показващи текст или икони. Тя може да съдържа и потребителски дефинирани панели, показващи информация за състоянието на приложението. По-важни свойства на контролата са:

  • Panels – съдържа секциите, на които е разделена лентата. На фигурата по-горе статус лентата е разделена на 2 секции. Статус лентата може и да няма отделни секции, а да е едно цяло.

  • ShowPanels – включва/изключва показването на панелите. Ако сек­циите са изключени, статус лентата е едно цяло.

StatusBarPanel


StatusBarPanel компонентата представлява секция в лентата за състоя­нието. Тя може да съдържа текст и/или икона. Чрез свойството Text се задава текста, който се показва в панела, а чрез свойството Icon се задава икона.

Диалог за избор на файл


При графичните приложения често се налага да се избира файл от локалната файлова система, напри­мер когато трябва да бъде зареден или записан документ във файл. За тази цел Windows Forms предоставя стандартни диалози, които могат да се настройват по гъвкав начин.

OpenFileDialog


OpenFileDialog представлява диалог за избор на файл (при отваряне). Този клас ни позволява да проверим дали файл съществува и да го отворим. По-важни свойства на диалога са:

  • Title – задава заглавие на диалога.

  • InitialDirectory – задава началната директория, от която започва изборът на файл. Ако не бъде зададена изрично, се използва последната директория, от която потребителят е избирал файл по време на работа с текущото приложение.

  • Filter – задава възможните файлови разширения, измежду които потребителят може да избира (например *.txt, *.doc, ...).

  • FilterIndex – задава активния филтър.

  • MultiSelect – указва дали в диалога могат да бъдат избирани много файлове едновременно или само един.

  • FileName, FileNames – съдържа избраните файлове.

SaveFileDialog


SaveFileDialog представлява диалог за избор на файл (при записване). Този клас ни позволява да презапишем съществуващ или да създадем нов файл. Работата с него е аналогична на работата с OpenFileDialog.

Работа с файлов диалог – пример


Настоящият пример илюстрира работата с файловия диалог на Windows Forms (компонентата OpenFileDialog). За целта ще създадем приложение, което позволява на потребителя да избере текстов файл с помощта на OpenFileDialog, чете съдържанието му и го показва в текстова контрола.

Ето стъпките за изграждане на нашето приложение:



  1. Стартираме VS.NET и създаваме нов Windows Forms проект.

  2. Задаваме на главната форма име MainForm и заглавие "FileOpenDialog - Demo". Променяме името на файла от Form1.cs на MainForm.cs.

  3. Вземаме от ToolBox на VS.NET един TextBox, поставяме го в горната част на главната форма и му задаваме име textBox. Зада­ваме на свойството му Multiline стойност true и на свой­ството му ScrollBars стойност Vertical. Така си осигуряваме многоредово текстово поле с възможност за скролиране. Под него поставяме един Panel и му задаваме име PanelBottom. На свойствата Dock на поставените контроли задаваме съответно стойности Fill и Bottom. По този начин, при оразмеряване (Resize) на формата, панелът ще си остава отдолу, като се разширя­ва/на­ма­лява само странично, а поставеният TextBox ще заема цялото останало пространство. Ето как изглежда формата в този момент:



  1. Поставяме във формата един OpenFileDialog с име openFileDialog. Задаваме на свой­ството Filter стойност "Text files (*.txt)|*.txt|Log files (*.log)|*.log". Този филтър указва търсене само на текстови (.txt) и log (.log) файлове. На свойството Title задаваме стойност "Choose text file".

  2. В панела добавяме един бутон с име ButtonLoadFile и текст "Load file". Чрез двукратно щракване върху бутона добавяме обработ­чик за събитието му Click:

private void ButtonLoadFile_Click(object sender, System.EventArgs e)

{

if (openFileDialog.ShowDialog() == DialogResult.OK)



{

string fileName = openFileDialog.FileName;

using (StreamReader reader = File.OpenText(fileName))

{

string fileContents = reader.ReadToEnd();



textBox.Text = fileContents;

}

}



}

При натискане на бутона показваме диалог за избор на файл и ако потребителят избере файл и натисне бутона [OK], отваряме файла, четем съдържанието му и го показваме в текстовото поле.

  1. Нашето приложение е готово и можем да го стартираме и тестваме:





Сподели с приятели:
1   ...   5   6   7   8   9   10   11   12   ...   16




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

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