Опубликован: 11.09.2006 | Уровень: специалист | Доступ: платный
Лекция 1:

Введение в windows-формы

Лекция 1: 12345678910 || Лекция 2 >

Режимы дизайна и кода

При создании нового проекта запускается режим дизайна — форма представляет собой основу для расположения элементов управления. Для работы с программой следует перейти в режим кода. Это можно сделать нескольким способами: щелкнуть правой кнопкой мыши в любой части формы и в появившемся меню выбрать View Code, в окне Solution Explorer сделать то же самое на компоненте Form 1.cs или просто дважды щелкнуть на форме — при этом сгенерируется метод Form1_Load. После хотя бы однократного перехода в режим кода в этом проекте появится вкладка Form1.cs* (см. рис. рис. 1.19), нажимая на которую, тоже можно переходить в режим кода. Для перехода в режим кода также можно использовать клавишу F7, а для возврата в режим дизайна — сочетание Shift+F7.

Переключимся в режим кода и рассмотрим некоторые блоки.

Данный блок определяет, какие пространства имен используются в этом проекте:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

Для просмотра информации о содержимом каждого из этих пространств можно воспользоваться окном Object Browser.

Далее определяется собственное пространство имен, имя которого совпадает с названием проекта:

namespace FirstForm

При необходимости это название можно менять.

Класс формы Form1, наследуемый от System.Windows.Forms.Form, содержит в себе почти весь код:

public class Form1 : System.Windows.Forms.Form
{
…
}

Внутри этого класса находится конструктор формы:

public Form1()
{
	//
	// Required for Windows Form Designer support
	//
	InitializeComponent();
	//
	// TODO: Add any constructor code after InitializeComponent call
	//
}

Событие Initiliaze происходит в момент запуска приложения; код, добавляемый после InitializeComponent, может изменять содержимое формы или элементы управления в момент запуска.

Область Windows Form Designer generated code содержит код графического интерфейса элементов управления и формы, автоматически генерируемый средой. Пустая форма содержит описание размеров и заголовка. Щелкните на знак (+) для просмотра этой области:

#region Windows Form Designer generated code
	/// <summary>
	/// Required method for Designer support — do not modify
	/// the contents of this method with the code editor.
	/// </summary>
	private void InitializeComponent()
{
	this.components = new System.ComponentModel.Container(); 
	this.Size = new System.Drawing.Size(300,300); // размер формы в пикселях
	this.Text = "Form1";// заголовок формы.
}
#endregion

Можно менять значения параметров, создаваемые средой, и тогда изменения немедленно отразятся на графическом интерфейсе. Концепция области Windows Form Designer generated code схожа с концепцией WYSIWYG 1WYSIWYG — "What You See Is What You Get" — "Что видишь, то и получаешь". редакторов HTML-кода, где можно размещать компоненты перетаскиванием, а среда сама генерирует HTML-код.

Метод Main реализует главную точку входа в программу — то есть место, откуда начинается выполнение написанного нами кода:

static void Main() 
{
	Application.Run(new Form1());
}

При отладке больших программ удобно использовать нумерацию строк, которую можно включить в пункте меню Tools/Options…/Text Editor/C# — на форме Display — галочка Line Numbers (рис. 1.20).

Отображение нумерации строк кода

Рис. 1.20. Отображение нумерации строк кода

При долгой работе над кодом контрастные черные буквы на белом фоне вызывают усталость, поэтому желательно в качестве фонового цвета установить другой — например, серый. Это можно сделать в Options на вкладке Environments/Font and Colors (рис. 1.21).

Вкладка Environments/Font and Colors. Здесь же можно сменить шрифт кода — например, установить Times New Roman

Рис. 1.21. Вкладка Environments/Font and Colors. Здесь же можно сменить шрифт кода — например, установить Times New Roman

В результате режим кода принимает следующий вид (рис. 1.22):

Эргономичный вид режима кода

увеличить изображение
Рис. 1.22. Эргономичный вид режима кода

Свойства проекта

Рассмотрим свойства проекта. В окне Solution Explorer выделяем название проекта — FirstForm, щелкаем правой кнопкой мыши и выбираем в меню пункт Properties. В появившемся окне содержатся все свойства текущего проекта (рис. 1.23).

Окно Common Properties / General

увеличить изображение
Рис. 1.23. Окно Common Properties / General

В окне свойств содержится довольно много параметров. Рассмотрим некоторые, наиболее употребительные.

Вкладка Common Properties / General включает в себя следующие свойства:

  • Assembly Name — название сборки (подробнее о сборках см. "Создание пакетов установки" )
  • Output Type — тип компилируемого приложения. По умолчанию для Windows-приложений стоит Windows Application.
  • Default Namespace — название пространства имен в коде. По умолчанию совпадает с именем проекта.
  • Startup Object — название класса, содержащего точку входа в программу – метод Main.
  • Application Icon — путь к файлу с иконкой приложения.
  • Project File — имя файла с информацией о проекте. Находится внутри папки с проектом;
  • Project Folder — путь к файлу с проектом.
  • Output File — название файла, создаваемого при компиляции, — выходного файла. Совпадает с именем проекта.

На вкладке Configuration Properties / Build рассмотрим некоторые свойства (рис. 1.24).

Окно Configuration Properties / Build

увеличить изображение
Рис. 1.24. Окно Configuration Properties / Build
  • Optimize Code — оптимизация программы, значение этого свойства true может значительно увеличить производительность приложения.
  • Allow Unsafe Code Blocks — разрешить использование ключевого слова unsafe в коде проекта.
  • Warning Level — уровень предупреждений, отображаемых при компиляции программы.
  • Treat Warnings As Errors — воспринимать все предупреждения как ошибки. Если объявить переменную в коде, но нигде не использовать ее, при значении этого свойства False приложение скомпилируется, при значении True — нет.
  • Output Path — путь, где формируется выходной файл. Папка bin находится внутри папки проекта.
  • Generate Debugging Information — выводить информацию при отладке. Это свойство должно быть включено: именно эти сообщения помогают исправлять код.
Лекция 1: 12345678910 || Лекция 2 >
Елена Дьяконова
Елена Дьяконова

При нажатии на Сумма в примере ArbitraryMethod из Лекция 7, VS 2013 выдается ошибка: 

Необработанное исключение типа "System.InvalidOperationException" в System.Windows.Forms.dll

Дополнительные сведения: Недопустимая операция в нескольких потоках: попытка доступа к элементу управления "lblResult" не из того потока, в котором он был создан.

Затем:

Необработанное исключение типа "System.InvalidOperationException" в mscorlib.dll

Дополнительные сведения: Для каждой асинхронной операции метод EndInvoke может вызываться только один раз.

Александр Сороколет
Александр Сороколет

Свойство WindowState формы blank Maximized. Не открывается почемуто на всё окно, а вот если последующую форму бланк открыть уже на макс открывается :-/

Иван Циферблат
Иван Циферблат
Россия, Таганрог, 36, 2000