Кратко съдържание



страница24/33
Дата23.07.2016
Размер10.53 Mb.
#1889
1   ...   20   21   22   23   24   25   26   27   ...   33

Влачене (Drag and Drop)


Реализацията на "влачене и пускане" (drag and drop) в Windows Forms прило­же­ние се извършва чрез обработването на поредица от събития.

В събитието MouseDown на контролата, от която започва влаченето, трябва да извикаме метода DoDragDrop(…), за да копираме данните, които ще вла­чим.

За да дадем възможност на контрола да получава данни при влачене, трябва да зададем стойност true на свойството й AllowDrop и трябва да прихванем събитията DragEnter и DragDrop. При обработка на DragEnter трябва да проверяваме формата на идващите данни и да позволяваме или забраняваме получаването им. Тази проверка можем да извършим чрез метода DragEventArgs.Data.GetDataPresent(…). В събитието DragDrop трябва да обработ­ваме получените данни. Можем да ги извличаме посредством метода DragEventArgs.Data.GetData(…).

Влачене и пускане в Windows Forms – пример


Настоящия пример илюстрира как със средствата на Windows Forms могат да бъдат реализирани приложения, които използват Drag-and-Drop техно­логията (влачене и пускане на обекти от една контрола към друга).

Приложението, което ще създадем, ще съдържа две контроли – едната ще се използва като източник при влаченето, а другата като получател.

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


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

  2. Задаваме на главната форма име MainForm и заглавие "Drag and Drop Demo". Променяме и името на файла с нейния сорс код от Form1.cs на MainForm.cs.

  3. Добавяме във формата две ListBox контроли с имена ListBoxSource и ListBoxTarget. Те ще бъдат съответно източник и получател при влаченето.

  4. Задаваме за свойството Items на ListBoxSource списък от имена на градове – София, Пловдив, Варна,

  5. Добавяме обработчик на събитието MouseDown на ListBoxSource. В него намираме избрания елемент от списъка и извикваме метода DoDragDrop(…), с което активираме влаченето. На метода подаваме като първи параметър данните, а като втори – стойност от изброе­ния тип DragDropEffects, указваща какъв да е резултатът от влаче­нето – в нашия случай е копиране:

    private void ListBoxSource_MouseDown(object sender,

    System.Windows.Forms.MouseEventArgs e)

    {

    Point mouseLocation = new Point(e.X, e.Y);



    int selectedIndex =

    ListBoxSource.IndexFromPoint(mouseLocation);

    if (selectedIndex != -1)

    {

    string data = (string) ListBoxSource.Items[selectedIndex];



    ListBoxSource.DoDragDrop(data, DragDropEffects.Copy);

    }

    }



  6. Задаваме на свойството AllowDrop на ListBoxTarget стойност true.

  7. Добавяме обработчик на събитието DragEnter на ListBoxTarget. В него проверяваме дали влаченият обект е Unicode символен низ и съответно позво­ля­ва­ме или забраняваме пускането му:

    private void ListBoxTarget_DragEnter(object sender,

    System.Windows.Forms.DragEventArgs e)

    {

    if (e.Data.GetDataPresent(DataFormats.UnicodeText))



    {

    e.Effect = DragDropEffects.Copy;

    }

    }


  8. Добавяме обработчик на събитието DragDrop на ListBoxTarget. В него извличаме низа и го обработваме:

    private void ListBoxTarget_DragDrop(object sender,

    System.Windows.Forms.DragEventArgs e)

    {

    string data =



    (string) e.Data.GetData(DataFormats.UnicodeText);

    ListBoxTarget.Items.Add(data);

    }


  9. Приложението е готово и можем да го стартираме и тестваме, като завлечем няколко града от списъка-източник в списъка-получател.


Конфигурационен файл на приложението


.NET Framework приложенията могат да използват конфигурационен файл, за да четат настройките си. Той представлява обикновен XML файл:

App.config







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

string username = System.Configuration.

ConfigurationSettings.AppSettings["username"];

// username = "Бай Иван"


От VS.NET можем да добавим конфигурационен файл като изберем File | Add New Item… | Application configuration file | App.config. При компилация App.config се копира под име <име_на_проекта.exe.config>.

Извличане на настройки от конфигурационен файл – пример


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

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



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

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

  3. Добавяме във формата един TextBox с име TextBoxUserName и един бутон с име ButtonReadUserName. Задаваме на свойството Text на бутона стойност "Read user name from config file".

  4. Добавяме конфигурационен файл на приложението, като избираме File | Add New Item… | Application configuration file | App.config. В него добавяме нов конфигурационен параметър с ключ username и стойност "Бай Иван":

    App.config







  5. Добавяме обработчик на събитието Click на ButtonReadUserName. В него извличаме стойността на параметъра username и я показ­ва­ме в текстовото поле:

    private void ButtonReadUserName_Click(object sender,

    System.EventArgs e)

    {

    TextBoxUserName.Text = System.Configuration.



    ConfigurationSettings.AppSettings["username"];

    }


  6. Приложението е готово и можем да го стартираме и тестваме:





Сподели с приятели:
1   ...   20   21   22   23   24   25   26   27   ...   33




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

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