Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 2107 / 346 | Оценка: 4.30 / 4.12 | Длительность: 08:30:00
ISBN: 978-5-94774-601-3
Самостоятельная работа 1:

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

< Введение  || Самостоятельная работа 1: 12 || Самостоятельная работа 2 >

Цель работы: Изучить основные элементы среды разработки Visual Studio Integrated Development Environment ( IDE - интегрированная среда разработки) C# при создании на языке C# приложений с графически интерфейсом.

Основные сведения

Среда разработки Visual Studio Integrated Development Environment (IDE) - интегрированная среда разработки) включает набор инструментов и не зависит от используемых языков программирования, представленных в Visual Studio. Visual Studio можно использовать для создания кода и на различных языках программирования: управляемый C++ - Manadged C++, Visual Basic.NET, Java.NET, C#.

В лабораторной работе проводится изучении среды разработки на языке программирования C# и следующих средств проектирования Windows - приложений:

основные окна среды разработки C#;

  • построение базовой инфраструктуры с помощью Application Wizard (мастер создания приложений);
  • использование дизайнера форм Dialog Painter (программа для рисования диалоговых окон) для оформления диалоговых окон;
  • добавление новых функциональных возможностей в приложение с использованием вкладки Properties (свойства).

Обзор среды разработки C#

Для начала работы с Visual Studio.NET необходимо из главного меню выбрать пункт "Microsoft Visual Studio.NET" (VS). При этом на компьютере загрузится Developer Studio (визуальная среда разработки Microsoft Visual ) на экране компьютера будет выведено окно, изображенное на рисунке 1.1.

Проектирование приложения

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

  1. Создать рабочую область, называемую также рабочей средой (проектирования), рабочим пространством и рабочей обстановкой нового проекта.
  2. Для создания каркаса приложения можно использовать мастер создания приложений - Application Wizard.
  3. Изменить внешний вид автоматически создаваемых мастером окон до желаемого вида.
    Стартовое диалоговое окно IDE

    увеличить изображение
    Рис. 1.1. Стартовое диалоговое окно IDE
  4. Добавить код C#, который будет вызывать отображение приветствия.

Создание рабочей области проекта

В VS каждому разрабатываемому приложению нужна рабочая среда. Рабочая среда проекта состоит из папок, в которых хранятся файлы исходного кода, а также из папок, в которых хранятся различные конфигурационные файлы. Создание рабочей среды нового проекта производится следующим образом:

  1. Щелкните на ссылке Project (Создать новый проект) метки Create на начальной странице (Start Page) VS.NET. При этом откроется окно создания нового проекта New Project (рисунок 1.2).
    Мастер создания нового проекта (New Project Wizard)

    увеличить изображение
    Рис. 1.2. Мастер создания нового проекта (New Project Wizard)
  2. В дереве, отображаемом в подокне Project Type (Типы проектов) выберите "Visual C# /Windows". В подокне Templates (Шаблоны) выберите Windows Application (Приложение Windows ).
  3. В поле Name (Название проекта) наберите имя проекта - Project_К4И_01 (имя проекта присваивается в соответствии со следующим синтаксисом: Project_"номер группы"_"номер бригады в группе" ).
  4. Щелкните на кнопке ОК. (Да). Мастер создания нового проекта создаст новый класс Form1, производный от System.Windows.Forms.Form с правильно настроенным методом Main( ). В свойствах проекта автоматически будут созданы ссылки на необходимые сборки библиотеки базовых классов. На экране появится графический шаблон среды разработки (рисунок 1.3).
    Графический шаблон главного окна приложения

    увеличить изображение
    Рис. 1.3. Графический шаблон главного окна приложения

При помощи дизайнера графических форм можно добавлять в приложение любые элементы управления и он будет автоматически генерировать код для этих элементов (по умолчанию файл с главной формой приложения называется Form1.cs ).

Для просмотра кода сгенерированного приложения можно в окне Solution Explorer щелкнуть правой кнопкой мыши на файле Form1.cs и в контекстном меню выбрать View Code (рисунок 1.4).

Выбор режима View Code в контекстном меню

увеличить изображение
Рис. 1.4. Выбор режима View Code в контекстном меню

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

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Project_К4И_01
{
  public partial class Form1 : Form
  {
    public Form1()
   { InitializeComponent(); }
  }
}

Инициализация компонент реализуется кодом, который можно отобразить, в окне Solution Explorer щелкнуть на пункте Form.Designer.cs (рисунок 1.5).

Выбор режима Form.Designer.cs

увеличить изображение
Рис. 1.5. Выбор режима Form.Designer.cs
namespace Project_К4И_01
{
  partial class Form1
  {
    private System.ComponentModel.IContainer components = null;
    protected override void Dispose(bool disposing)
    {
       if (disposing && (components != null))
       {
          components.Dispose();
       }
       base.Dispose(disposing);
    }
    #region Windows Form Designer generated code
    private void InitializeComponent()
    {
       this.components = new System.ComponentModel.Container();
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
       this.Text = "Form1";
     }
     #endregion
  }
}

В определении класса Form1 используется ключевое слово partial, которое позволяет определять класс, структуру или интерфейс, распределенные по нескольким файлам. В Visual Studio 2005 классы Windows -форм формируются в двух файлах: Form1.cs и Form1.Designer.cs. В файле Form1.Designer.cs присутствует код, сгенерированный дизайнером Windows -формы, а файле Form1.cs - присутствует код инициализации класса и пользовательские члены класса (поля, свойства, методы, события, делегаты)

Код приложения (Program.cs) имеет следующий вид:

using System;
using System.Collections.Generic;
using System.Windows.Forms;
namespace Project_К4И_01
{
  static class Program
   {
     [STAThread]
     static void Main()
    {
     Application.EnableVisualStyles();
     Application.SetCompatibleTextRenderingDefault(false);
     Application.Run(new Form1());
    }
   }
}

Метод Main является точкой входа для приложения и вызывает Application.Run, который создает класс Form1.

Класс System.Windows.Forms.Application

Класс Application можно рассматривать как "класс низшего уровня", позволяющий нам управлять поведением приложения Windows Forms. Кроме того, этот класс определяет набор событий уровня всего приложения, например закрытие приложения или простой центрального процессора.

Наиболее важные методы этого класса (все они являются статическими) перечислены в таблице 1.1.

Таблица 1.1. Наиболее важные методы типа Application
Метод класса Назначение Application
AddMessageFilter( ) Эти методы позволяют приложению перехватывать сообщения RemoveMessageFilter( ) и выполнять с этими сообщениями необходимые предварительные действия. Для того чтобы добавить фильтр сообщений, необходимо указать класс, реализующий интерфейс IMessageFilter
DoEvents( ) Обеспечивает способность приложения обрабатывать сообщения из очереди сообщений во время выполнения какой-либо длительной операции. Можно сказать, что DoEvents() - это "быстрый и грязный" заменитель нормальной многопоточности
Exit( ) Завершает работу приложения
ExitThred( ) Прекращает обработку сообщений для текущего потока и закрывает все окна, владельцем которых является этот поток
OLERequired( ) Инициализирует библиотеки OLE. Можете считать этот метод эквивалентом .NET для вызываемого вручную метода Olelnitialize( )
Run( ) Запускает стандартный цикл работы с сообщениями для текущего потока

Класс Application определяет множество статических свойств (таблице 1.2), большинство из которых доступны только для чтения.

Таблица 1.2. Наиболее важные свойства типа Application
Свойство Назначение
CommonAppDataRegistry Возвращает параметр системного реестра, который хранит общую для всех пользователей информацию о приложении
CompanyName Возвращает имя компании
CurrentCulture Позволяет задать или получить информацию о естественном языке, для работы с которым предназначен текущий поток
CurrentlnputLanguage Позволяет задать или получить информацию о естественном языке для ввода информации, получаемой текущим потоком
ProductName Для получения имени программного продукта, которое ассоциировано с данным приложением
ProductVersion Позволяет получить номер версии программного продукта
StartupPath Позволяет определить имя выполняемого файла для работающего приложения и путь к нему в операционной системе

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

Таким образом, при помощи многих свойств (например, CompanyName или ProductName ) можно очень просто получить метаданные уровня сборки. В сборке можно использовать любое количество встроенных и пользовательских атрибутов. В результате можно получить значение атрибута [assembly:AssemblyCompany(" ")] при помощи свойства Application.CompanyName без необходимости прибегать к использованию типов, определенных в пространстве имен System.Reflection.

< Введение  || Самостоятельная работа 1: 12 || Самостоятельная работа 2 >
Анна Иваненко
Анна Иваненко

В самостоятельной работе 8 написано: "В пункте "Server name" задаем имя сервера, которое необходимо узнать у преподавателя". Где узнать это имя?

Вячеслав Шестивский
Вячеслав Шестивский

Вроде всё выставил верно, но при клике на "Сотрудники", меню из FormEmplyee не вставляется в меню главного окна а висит в дочернем окне снизу.  Как поправить?