Практическое руководство. Создание приложений Windows Forms на C#

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

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

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

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

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

ссылка на видео Для просмотра демонстрационных видеороликов перейдите по ссылке Видео: создание C# Windows Forms C#.

Создание C# приложения Windows.

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

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

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

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

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

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

    Снимок экрана ExpressForm1cs

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

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

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

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

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

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

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

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

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

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

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

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

    Снимок экрана ExpressTextWebBrowser

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

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

    Снимок экрана ExpressMainmenuForm

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

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

    Снимок экрана ExpressTypeHere

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

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

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

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

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

    360kwx3z.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

    360kwx3z.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

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

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

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

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

    private void goButton_Click(object sender, System.EventArgs e)
    {
        webBrowser1.Navigate(new Uri(comboBox1.SelectedItem.ToString()));
    }
    

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

  15. Добавление обработчика событий для параметров 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.

    360kwx3z.alert_note(ru-ru,VS.90).gifПримечание.

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

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

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

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

    В заключение добавим в 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();
    }
    
  18. Построение и выполнение программы.

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

    Пример снимка экрана MSN

    Для новичков в программировании на C# самое время ознакомиться с разделом Основы языка C#. Для получения дополнительных сведений о среде разработки Visual C#, экспресс-выпуск и создании консольных приложений с использованием IntelliSense в подробностях см. Практическое руководство. Создание консольного приложения C#. . Сведения о построении приложений Windows Presentation Foundation см. Практическое руководство. Создание приложения WPF C#.

См. также

Задачи

Практическое руководство. Создание консольного приложения C#

Практическое руководство. Создание приложения WPF C#

Основные понятия

Основы языка C#

Другие ресурсы

Создание первого приложения Visual C#

Советы и рекомендации по Visual C# Express