Внимание. Интерфейс программы должен быть интуитивно понятным и по возможности про­стым

Интерфейс программы должен быть интуитивно понятным и по возможности про­стым. Часто повторяющиеся действия не должны требовать от пользователя вы­полнения сложных последовательностей операций.

Заготовка шаблона обработчика события формируется двойным щелчком на поле, расположенном справа от имени соответствующего события на вкладке Events окна свойств, при этом появляется вкладка окна редактора кода с заготов­кой соответствующего обработчика (вкладка Events отображается в окне свойств при щелчке на кнопке с желтой молнией, как показано на рис. 14.5).

Для каждого класса определен свой набор событий, на которые он может реаги­ровать. Наиболее часто используемые события:

□ Activated — получение формой фокуса ввода;

□ Click, DoubleClick — одинарный и двойной щелчки мышью;

□ Closed — закрытие формы;

□ Load — загрузка формы;

□ KeyDown, KeyUp — нажатие и отпускание любой клавиши и их сочетаний;

□ KeyPress — нажатие клавиши, имеющей ASCII-код;

□ MouseDown, MouseUp — нажатие и отпускание кнопки мыши;

□ MouseMove — перемещение мыши;

□ Paint — возникает при необходимости прорисовки формы.

В листинге 14.2 приведен текст программы, сформированной средой после раз­мещения на форме компонентов, представленных на рис. 14.5, и выборе для кнопки события Click, а для поля ввода — события KeyPress. Из листинга для удобства восприятия удалены лишние элементы.

Листинг 14.2. Шаблон приложения с двумя компонентами и заготовками обработчиков событий

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

namespace WindowsApplication1

{

public class Form1: System.Windows.Forms.Form // 0

{

private System.Windows.Forms.TextBox textBox1; // 1

private System.Windows.Forms.Button button1; // 2

private System.ComponentModel.Container components = null;

public Form1()

{

InitializeComponent();

}

protected override void Dispose(bool disposing) {/*... */}

#region Windows Form Designer generated code

private void InitializeComponent()

{

this.textBox1 = new System.Windows.Forms.TextBox(); // 3

this.button1 = new System.Windows.Forms.Button(); // 4

this.SuspendLayout(); // 5

//

// textBox1 //

this.textBoxl.Location = new System.Drawing.Point(24, 16); this.textBoxl.Name = "textBox1"; this.textBoxl.Size = new System.Drawing.Size(240, 20);

this.textBoxl.Tablndex = 0; this.textBoxl.Text = "textBox1";

this.textBoxl.KeyPress += new // 6

System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress); //

// button1 //

this.button1.Location = new System.Drawing.Point(192, 80);

this.button1.Name = "button1";

this.button1.Tablndex = 1;

this.button1.Text = "button1";

this.buttonl.Click += new //7

System.EventHandler(this.button1_Click);

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(292, 126);

this.Controls.Add(this.button1); // 8

this.Controls.Add(this.textBox1); // 9

this.Name = "Form1";

this.Text = "Form1";

this.ResumeLayout(false); //10

}

#endregion

static void Main()

{

Application.Run(new Form1());

}

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

{

// 11

}

private void textBox1_KeyPress(object sender,

System.Windows.Forms.KeyPressEventArgs e)

{

// 12

}

}

}

Рассмотрим текст программы. В операторах 1 и 2 в класс формы добавляются два закрытых поля: строка ввода типа TextBox и кнопка типа Button. Эти типы опреде­лены в пространства имен System.Windows.Forms, которое подключается в соответ­ствующей директиве using, поэтому можно записать эти и соседние строки проще:

using System;

using System.Drawing;

using System;

public class Form1: Form // 0

{

private TextBox textBoxl; // 1

private Button button1; // 2

private Container components = null;

Чаще всего программист изменяет имена, присваиваемые элементам средой, более осмысленными. Это можно сделать, задав новое значение свойства Name элемента.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: