Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_ПОА.doc
Скачиваний:
93
Добавлен:
13.02.2015
Размер:
2.65 Mб
Скачать

To create a c# Windows application

The purpose of this topic is to acquaint you with elements of the Visual C# Express Edition integrated development environment (IDE) as you use Windows Forms to build a relatively straightforward C# program. Windows Forms provide your project with components, such as dialog boxes, menus, buttons, and many other controls, that make up a standard Windows application user interface (UI). Fundamentally, these controls are just classes from the .NET Framework class library. The Designer view in Visual C# Express Edition enables you to drag the controls onto your application's main form and adjust their size and position. As you do this, the IDE automatically adds the source code to create an instance of the appropriate class and initialize it.

This example shows you how to create your own Web browser application, which you can customize with shortcuts to your favorite Web sites.

In this section, you'll learn how to complete the following tasks:

  • Create a new Windows Forms application.

  • Toggle between Code view and Designer view.

  • Change the Windows Form's properties.

  • Add a MenuStrip control.

  • Add a Button control.

  • Create and populate a ComboBox control.

  • Use a WebBrowser control.

  • Create event handlers for controls.

  1. On the File menu, click New Project.

The New Project dialog box appears. This dialog box lists the different default application types that Visual C# Express Edition can create.

  1. Select Windows Forms Application as your project type.

  2. Change the name of your application to Web Browser.

  3. Click OK.

Создание приложений Windows Forms на c#

Целью этого раздела является знакомство с элементами среды разработки Visual C#, экспресс-выпуск на примере использования Windows Forms для построения достаточно простой программы C#. Windows Forms предоставляет для проекта такие компоненты, как диалоговые окна, меню, кнопки и многие другие элементы управления, являющиеся частью стандартного пользовательского интерфейса (UI) Windows. По существу, эти элементы управления являются просто классами из библиотеки .NET Framework. Представление Конструктор в Visual C#, экспресс-выпуск позволяет перетаскивать элементы управления в основную форму приложения и изменять их размеры и расположение. После этого IDE автоматически добавит исходный код для создания и инициализации экземпляра соответствующего класса.

В этом примере представлено создание приложения веб-обозревателя, которое можно настроить с использованием ссылок на избранные веб-узлы.

В этом разделе рассматривается выполнение следующих задач.

  • Создание нового приложения Windows Forms.

  • Переключение между представлением Код и представлением Конструктор.

  • Изменение свойств формы Windows.

  • Добавление элемента управления MenuStrip.

  • Добавление элемента управления Button.

  • Создание и заполнение элемента управления ComboBox.

  • Использование элемента управления WebBrowser.

  • Создание обработчиков событий для элементов управления.

  1. В меню Файл выберите команду Создать проект.

Откроется диалоговое окно Создание проекта. В этом диалоговом окне выводится список различных типов приложений по умолчанию, которые можно создавать с помощью Visual C#, экспресс-выпуск.

  1. Выберите Приложение Windows Forms в качестве типа проекта.

  2. Измените имя приложения на Web Browser.

  3. Нажмите кнопку ОК.

Visual C# Express Edition creates a new folder for your project that is named after the project title, and then displays your new Windows Form, titled Form1 in Designer view. You can switch between this view and Code view at any time by right-clicking the design surface or code window and then clicking View Code or View Designer.

The Windows Form you see in Designer view is a visual representation of the window that will open when your application is opened. In Designer view, you can drag various controls from the Toolbox onto the form. These controls are not really "live"; they are just images that are convenient to move around on the form into a precise location.

After you have dropped a control onto the form, Visual C# works behind the scenes to create the code that will cause the real control to be positioned correctly when the program is run. This source code is in a file that is generally nested out of view. You can see this file in Solution Explorer, which is named Form1.designer.cs, if you expand Form1.cs.

  1. If you are in Code view, switch to Designer view by right-clicking the code window and then clicking View Designer. Now change the size of the Windows Form.

    1. Click the lower-right corner of the Windows Form.

    2. When the pointer becomes a double-headed arrow, drag the corner of the form until it is at least as wide and as deep as a quarter of your screen.

Because this is the window in which Web pages will be displayed, you don't want it to be too cramped.

Visual C#, экспресс-выпуск создаст для проекта новую папку с таким же именем, как у проекта, и затем отобразит новую форму Windows с именем From1 в представлении Конструктор. Переключаться между этим представлением и представлением Код можно щелкнув правой кнопкой мыши поверхность разработки и выбрав команду Просмотреть код или Открыть в конструкторе.

Форма Windows в представлении Конструктор — это визуальное представление окна, которое появится при открытии приложения. В представлении Конструктор можно перетаскивать различные элементы управления из панели элементов в форму. Эти элементы управления не являются реальными объектами, это просто изображения, которые удобно перемещать в форме для определенного расположения.

После расположения элемента управления в форме Visual C# в фоновом режиме создаст код для правильного размещения реального элемента управления при выполнении программы. Этот исходный код будет находиться в файле, который обычно не виден в представлении. Этот файл с именем Form1.designer.cs можно увидеть в обозревателе решений, если развернуть узел Form1.cs.

  1. Переключиться с представления Код на представление Конструктор можно щелкнув правой кнопкой мыши окно кода и выбрав команду Открыть в конструкторе. Изменение размеров формы Windows.

    1. Щелкните правый нижний угол формы Windows.

    2. Когда указатель примет форму двусторонней стрелки, перетащите угол так, чтобы форма заняла четверть экрана.

Поскольку в этом окне будут отображаться веб-страницы, оно не должно быть слишком маленьким.

  1. Make sure the Properties window is displayed. Its default location is the lower-right section of the IDE, but you can move to another location if you like. The following illustration shows it in the upper-right corner. If you do not see the Properties window, on the View menu, click Properties window. This window lists the properties of the currently selected Windows Form or control, and it's here that you can change the existing values.

  2. Change the title of the Windows Form.

    1. Click on the form to select it.

    2. In the Properties window, scroll down to Text, select the text "Form1," and type Web Browser.

    3. Press ENTER or TAB to move focus from the "Text" text box.

You now see that the text at the top of your Windows Form (in the area called the title bar) has changed.

To quickly change the name of a control, right-click the control and click Properties. You can type the new name for the control in the Name property.

  1. Убедитесь, что окно Свойства открыто. По умолчанию оно располагается нижней правой части IDE, но может быть перемещено в любое расположение. На следующем рисунке оно показано в верхнем правом углу. Если окно Свойства не отображается, в меню Вид выберите Свойства. В этом окне перечислены свойства текущей выбранной формы Windows или элемента управления, здесь же можно менять их значения.

  2. Изменение названия формы Windows.

    1. Щелкните форму, чтобы выделить ее.

    2. В окне Свойства прокрутите вниз до пункта Текст, выберите текст "Form1" и введите Web Browser.

    3. Нажмите клавишу ВВОД или TAB, чтобы убрать фокус из текстового поля "Текст".

Текст в верхней части формы Windows (в области, называемой строкой заголовка) изменился.

Для быстрого изменения имени элемента управления щелкните его правой кнопкой мыши и выберите Свойства. Введите новое имя элемента управления в свойстве Имя.

  1. Click the Toolbox button on the toolbar, or on the View menu, click Toolbox. Scroll down the list of controls and expand Menus & Toolbars until you see MenuStrip. Drag this control to anywhere on the Windows Form.

This control creates a default menu at the top of the form.

  1. Нажмите кнопку Панель элементов на панели инструментов или в меню Вид выберите пункт Панель элементов. Прокрутите вниз список элементов управления и разверните узел Меню и панели инструментов пока не увидите MenuStrip. Перетащите этот элемент управления на любое место в форме Windows.

Этот элемент управления создает меню по умолчанию в верхней части формы.

  1. In the box that says Type Here, type the name of the menu, in this case Navigate. When you press ENTER, new empty boxes appear to create other menus, and menu items. In the lower box, type Home. Press ENTER and more boxes are displayed. Type Go Back. Press ENTER, and type Go Forward.

These menu items form your basic Web site navigation controls.

  1. Add a button.

From the Toolbox, in the Common Controls category, drag a Button control to approximately the middle of the Windows Form, just under the menu bar. In the Properties window, change the Text property to Go instead of button1, and change the design name, which resembles (Name), from button1 to goButton.

  1. В поле с текстом Место для ввода введите имя меню, в данном случае Navigate. После нажатия клавиши ВВОД появятся новые поля для создания других меню и пунктов меню. В поле, расположенном ниже, введите Домашняя страница. Нажмите клавишу ВВОД, после чего появятся дополнительные поля. Введите Назад. Нажмите ВВОД и введите Вперед.

Эти пункты меню являются основными элементами управления перехода по веб-узлу.

  1. Добавление кнопки.

Из категории Стандартные панели элементов перетащите элемент управления Button примерно на середину формы Windows непосредственно под строку меню. В окне Свойства измените свойство Текст на Перейти вместо button1 и измените шаблонное имя в свойстве (Имя) с button1 на goButton.

  1. Add a ComboBox.

From the Toolbox, in the Common Controls category, drag a ComboBox control and position it to the left of the new button. Drag the edges and corners to resize and reposition the ComboBox until it is lined up with the button.

Note:

When you are moving controls around a Windows Form, you will see blue lines appear. These lines are guides that help you line up the controls vertically and horizontally. You can also line up controls by selecting more than one at a time. You can do this by clicking and dragging a selection box around the controls or by holding down SHIFT as you click them. After you have multiple controls selected, you can modify the alignment and size by using the align and resize icons. These icons appear on the Layout Toolbar at the top of the Design window.

  1. Populate the ComboBox.

A ComboBox provides a drop-down list of options from which the user can select. In this program, the ComboBox will contain a list of your favorite Web sites for quick access.

To create the list of sites, select the ComboBox and view its properties. Select the Items property, and you'll see the word (Collection) with an ellipsis button (...). Click this button to change the contents of the ComboBox. Add as many Web site URLs as you want, pressing RETURN after each.

  1. Добавление элемента управления ComboBox.

Из категории Стандартные панели инструментов перетащите элемент управления ComboBox и поместите его слева от новой кнопки. Перетаскивая края и углы, измените размеры элемента и расположите ComboBox на одной лини с кнопкой.

Примечание.

При перемещении элементов управления в форме Windows Forms будут появляться синие линии. Они являются направляющими для выравнивания элементов по вертикали и горизонтали. Помимо этого есть возможность выровнять несколько элементов одновременно, выделив их. Для этого нужно щелкнуть форму и перетащить прямоугольник выделения вокруг нужных элементов или щелкнуть каждый из них, удерживая нажатой клавишу SHIFT. После выделения нескольких элементов можно выравнивать и менять их размер с помощью значков выравнивания и изменения размера. Эти значки появляются на панели инструментов "Макет" в верхней части окна конструктора.

  1. Заполнение элемента управления ComboBox.

Элемент управления ComboBox предоставляет раскрывающийся список вариантов для выбора. В этой программе ComboBox будет содержать список избранных веб-узлов для быстрого доступа.

Для создания списка веб-узлов выделите ComboBox и отобразите его свойства. При выделении свойства Элементы будет отображена кнопка с многоточием (...) и словом (Коллекция). Щелкните эту кнопку для изменения содержимого ComboBox. Добавьте любое количество URL-адресов веб-узлов, нажимая после каждого ВВОД.

Примечание.

Убедитесь в том, что перед адресом каждого веб-узла вставлено http://.

  1. Add the WebBrowser control.

From the Toolbox, in the Common Controls category, scroll down until you locate the WebBrowser control. Drag the control to the Windows Form. Resize the WebBrowser control to fit inside the Windows Form without obscuring the ComboBox and Button controls. If the WebBrowser control doesn't resize easily, first set it to the desired size, open its properties, locate the Dock setting, and make sure that it is set to none. Setting the Anchor settings to Top, Bottom, Left, Right will cause the WebBrowser control to resize correctly when you resize the application window.

The WebBrowser control is the control that does all the hard work of rendering the Web pages. You access it in your application through an instance of the WebBrowser class. View form1.Designer.cs and you will see that an instance of this class has been added to your application code, together with instances of classes that represent the other items that you added by using the designer. It is these instances that you will be using when you add event handlers for, and call methods on, the controls.

  1. Add an event handler for the Button control.

You have now finished the design stage of your application and are at the point when you can start adding some code to provide the program's functionality.

The program must have event handlers for the button and for each menu option. An event handler is a method that is executed when the user interacts with the control. Visual C# Express Edition creates empty event handlers for you automatically.

Double-click the button, and you'll see the Code Editor for your project appear. You'll also see that the event handler for the click event, which is the event message that occurs when the user clicks a button, has been created for you. Add code to the event handler method so that it resembles the following code.

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

{

webBrowser1.Navigate(new Uri(comboBox1.SelectedItem.ToString()));

}

  1. Добавление элемента управления WebBrowser.

В панели элементов в категории Стандартные прокрутите вниз список до элемента управления WebBrowser. Перетащите этот элемент управления в форму Windows. Измените размеры элемента WebBrowser так, чтобы он заполнил форму Windows Forms без перекрытия элементов управления ComboBox и Button. Если изменение размеров элемента управления WebBrowser затруднено, откройте его свойства, найдите параметр Dock и убедитесь, что ему задано значение none, после этого установите желаемый размер. Задание параметру Anchor значения сверху, снизу, левый, правый заставит элемент управления WebBrowser корректно изменять свой размер при изменении размера окна приложения.

Элемент WebBrowser выполняет все сложные действия по визуализации веб-страниц. В приложении доступ к нему осуществляется через экземпляр класса WebBrowser. Просмотр файла form1.Designer.cs позволит увидеть, что экземпляр этого класса был добавлен в код приложения вместе с экземплярами классов, представляющих другие элементы, добавленные с помощью конструктора. Именно эти экземпляры будут использоваться при добавлении обработчиков событий и вызова методов элементов управления.

  1. Добавление обработчика событий для элемента управления Button.

К этому моменту этап проектирования приложения закончен, пришло время добавить определенный код для обеспечения функциональности программы.

Программа должна иметь обработчики событий для кнопок и каждого пункта меню. Обработчик событий — это метод, который выполняется при взаимодействии пользователя с элементом управления. Visual C#, экспресс-выпуск автоматически создает пустые обработчики событий.

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

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

{

webBrowser1.Navigate(new Uri(comboBox1.SelectedItem.ToString()));

}

This code takes the currently selected item from the ComboBox control, a string that contains a Web URL, and passes it to the Web browser's Navigate method. The Navigate method loads and displays the contents of the Web page at that location.

  1. Add event handlers for the MenuStrip options.

Return to the Designer window and double-click each sub-item in the menu in turn. Visual C# Express Edition creates event handler methods for each. Edit these methods so that they resemble the following code.

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

{

webBrowser1.GoHome();

}

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

{

webBrowser1.GoForward();

}

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

{

webBrowser1.GoBack();

}

Each of these menu handlers calls a navigation method that is supported on the WebBrowser class.

Этот код берет текущий выделенный элемент из элемента управления ComboBox (строку с URL-адресом веб-узла) и передает его в метод веб-обозревателя Navigate. Метод Navigate загружает и отображает содержимое указаной веб-страницы.

  1. Добавление обработчика событий для параметров MenuStrip.

Вернитесь в окно конструктора и по очереди дважды щелкните каждый подпункт меню в меню. Visual C#, экспресс-выпуск создаст для каждого методы обработчика событий. Измените эти методы, как указано ниже.

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

{

webBrowser1.GoHome();

}

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

{

webBrowser1.GoForward();

}

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

{

webBrowser1.GoBack();

}

Каждый из этих обработчиков меню вызывает метод навигации, поддерживаемый классом WebBrowser.

You can see from this code that the default names given to the menu options can become very confusing. For this reason, it's a good idea to change the name of each menu control as you create it by using the Properties editor. The name of the handler will then reflect the name of the menu option.

  1. See the code that Visual C# has written for you.

The Visual C# IDE has already written initialization code for you. In Code view, find the constructor for the Form1 class. It has a signature of public Form1(). Right-click the InitializeComponent method that is being called from inside the constructor, and then click Go To Definition. You now see all the code that was being written behind the scenes as you were dragging and dropping controls and setting properties in the Properties window.

  1. Add some initialization code of your own.

The last task is to add some initialization code of your own to Form1. The constructor should never be used to call any code that might throw an exception. Therefore, any such code must be located someplace else, and that location is the Form1_Load method. Click the Form1.cs[Design] tab at the top of the code editor to go back to Windows Form. Select the form and in the Properties window click the Events button (the one with the lightning bolt) and then double-click Load. This will add an event handler method and position your cursor in the method in Code view.

When a user starts your program, Windows will notify your application's form by sending a Load event. When the form receives that event, it will call the Form1_Load method. Methods that are called in response to events are called event handlers. The system will call your event at the appropriate time; your job is to put the code into the event handler that you want to execute when the event occurs.

In Code view, add two lines to the Form1_Load method as shown in the following code. This will cause the WebBrowser control to display your computer's default home page and also set the initial value of the ComboBox.

Из этого кода ясно, что при использовании для вариантов меню имен по умолчанию код может стать весьма запутанным. По этой причине лучше изменить имя каждого варианта меню с помощью редактора Свойства. Тогда имя обработчика будет отражать имя варианта меню.

  1. Просмотр созданного Visual C# кода.

IDE Visual C# автоматически создает код инициализации. В представлении Код найдите конструктор для класса Form1. У него есть подпись public Form1(). Щелкните правой кнопкой мыши метод InitializeComponent, вызываемый из конструктора, и выберите команду Перейти к определению. Будет показан код, созданный фоновым процессом при перетаскивании элементов управления и установке свойств в окне Свойства.

  1. Добавление собственного кода инициализации.

В заключение добавим в Form1 собственный код инициализации. Конструктор никогда не должен использоваться для вызова любого кода, который может вызвать исключение. Такой код должен располагаться в методе Form1_Load. Откройте вкладку Form1.cs[Design] в верхней части редактора кода, чтобы вернуться в форму Windows. Выделите форму и в окне Свойства нажмите кнопку События (с изображением молнии), затем дважды щелкните Загрузить. Будет создан обработчик событий, и курсор переместится в метод в представлении Код.

При запуске программы Windows уведомит об этом форму приложения путем отправки события Load. При получении формой этого события будет вызван метод Form1_Load. Методы, вызываемые в ответ на событие, называются обработчиками событий. Система будет вызывать события в нужный момент времени, задача разработчика заключается в том, чтобы поместить в обработчик событий код, который должен выполняться при возникновении события.

В представлении Код добавьте две строки в метод Form1_Load, как показано в коде, написанном ниже. В результате элемент управления WebBrowser отобразит домашнюю страницу по умолчанию и будет присвоено начальное значение элементу управления ComboBox.

private void Form1_Load(object sender, EventArgs e)

{

comboBox1.SelectedIndex = 0;

webBrowser1.GoHome();

}

  1. Build and run the program.

Press F5 to build and run the Web browser. The Windows Form is displayed on the screen, and it then displays your computer's default home page. You can use the ComboBox control to select a Web site, and click Go to navigate to it. The menu options enable you to return home, or move back and forth through previously visited Web sites.

-------

  1. Построение и выполнение программы.

Нажмите клавишу F5 для построения и выполнения веб-обозревателя. На экране отобразится форма Windows и затем появится домашняя страница по умолчанию. Используйте элемент управления ComboBox можно для выбора веб-узла и кнопку Перейти для перехода на него. С помощью пунктов меню можно вернуться на домашнюю страницу или перемещаться вперед и назад через открытые ранее веб-узлы.