Читать «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» онлайн - страница 464
Эндрю Троелсен
private void InitializeComponent() {
…
this.Text = "Мое тестовое окно";
}
Кроме поддержки InitializeComponent(), файл *.Designer.cs определяет члены-переменные, представляющие элементы управления, размещенные в окне проектирования формы. Снова для примера перетащите элемент управления Button (Кнопка) в окно проектирования формы. В окне свойств с помощью свойства Name измените имя соответствующей переменной с button1 на btnTestButton.
Замечание. Всегда лучше переименовать размещаемый элемент управления, перед тем как программировать обработку событий. Если этого не сделать, вы получите целый набор обработчиков событий с неинформативными именами наподобие button27_Click, поскольку при создании соответствующего имени по умолчанию к имени элемента просто добавляется суффикс в виде порядкового номера переменной.
Обработка событий в режиме проектирования
Обратите внимание на то, что в окне свойств есть кнопка с изображением молнии. Вы, конечно, можете вручную создать программный код, обеспечивающий обработку событий уровня формы, (как это было сделано в предыдущих примерах), но эта кнопка позволяет обработать событие для данного элемента управления "визуально". Из раскрывающегося списка (вверху окна свойств) выберите элемент управления, который должен взаимoдeйствoвaть с формой, найдите событие, которое вы хотите обработать, и напечатайте имя, которое должно использоваться для обработчика события (или выполните двойной щелчок на имени события, чтобы сгенерировать типовое имя в виде ИмяЭлемента_ИмяСобытия).
Если задать обработку события Click для элемента управления Button, в файле Form1.cs появится следующий обработчик событий.
public partial class MainWindow: Form {
public MainWindow {
InitializeComponent();
}
private void btnButtonTest_Click(object sender, EventArgs e) {}
}
Файл Form1.Designer.cs будет содержать необходимую инфраструктуру и описание соответствующего члена-переменной.
partial class MainWindow {
…
private void InitializeComponent() {
…
this.btnButtonTest.Click += new System.EventHandler(this.btnButtonTest_Click);
}
private System.Windows.Forms.Button btnButtonTest;
}
Замечание. Каждый элемент управлении имеет свое
Класс Program
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
}
}
Замечание. Атрибут [STAThread] дает среде CLR указание обрабатывать все устаревшие COM-объекты (включая элементы управления ActiveX), используя STA-управление (SingleThreaded Apartment – однопоточное размещение). Если вы имеете опыт использования COM, вы должны знать, что STA-управление используется для того, чтобы доступ к COM-типу выполнялся в синхронном (а значит, безопасном в отношении потоков) режиме.