Бренд. Net. Visual Studio. Net открытая среда разработки. Каркас Framework. Net. Библиотека классов fcl статический компонент каркаса. Общеязыковая исполнительная среда clr динамический компонент каркаса



бет16/16
Дата06.01.2022
өлшемі279,5 Kb.
#14998
түріЛекция
1   ...   8   9   10   11   12   13   14   15   16
Байланысты:
Лекции 1-2 С#

    Бұл бет үшін навигация:
  • Form1
Рис. 2.4. Форма "Приветствие"

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

Вот как выглядит автоматически добавленное в класс описание элементов управления:

private System.Windows.Forms.Label label1;

private System.Windows.Forms.TextBox textBox1;

private System.Windows.Forms.Button button1;

private System.Windows.Forms.TextBox textBox2;

private System.Windows.Forms.Label label2;

А вот фрагмент текста процедуры InitailizeComponent:

#region Windows Form Designer generated code

///

/// Required method for Designer support - do not

/// modify the contents of this method with the code

/// editor.

///

private void InitializeComponent()

{

this.label1 = new System.Windows.Forms.Label();



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

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

this.textBox2 = new System.Windows.Forms.TextBox();

this.label2 = new System.Windows.Forms.Label();

this.SuspendLayout();

// label1

this.label1.Location = new System.Drawing.Point(24, 40);

this.label1.Name = "label1";

this.label1.Size = new System.Drawing.Size(152, 32);

this.label1.TabIndex = 0;

this.label1.Text = "Ваше имя";

this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;

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

... далее задаются свойства самой формы ...

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);



this.ClientSize = new System.Drawing.Size(528, 268);

this.Controls.AddRange(new

System.Windows.Forms.Control[]

{

this.textBox2,



this.label2,

this.button1,

this.textBox1,

this.label1

});

this.Name = "Form1";



this.Text = "Приветствие";

this.Load += new System.EventHandler(this.Form1_Load);

this.ResumeLayout(false);

}

#endregion



Заметьте, в теге  нас предупреждают, что этот метод требуется специальному инструментарию - Дизайнеру формы - и он не предназначен для редактирования пользователем; добавление и удаление кода этого метода производится автоматически. Обращаю внимание, что после заполнения свойств элементов управления заключительным шагом является их добавление в коллекцию Controls, хранящую все элементы управления. Здесь используется метод AddRange, позволяющий добавить в коллекцию одним махом целый массив элементов управления. Метод Add позволяет добавлять в коллекцию по одному элементу. Позже нам придется добавлять элементы управления в форму программно, динамически изменяя интерфейс формы. Для этого мы будем выполнять те же операции: объявить элемент управления, создать его, используя конструкцию new, задать нужные свойства и добавить в коллекцию Controls.

В заключение приведу текст обработчика событий командной кнопки. Как задается обработчик того или иного события для элементов управления? Это можно делать по-разному. Есть стандартный способ включения событий. Достаточно выделить нужный элемент в форме, в окне свойств нажать кнопку событий (со значком молнии) и из списка событий выбрать нужное событие и щелкнуть по нему. В данной ситуации все можно сделать проще - двойной щелчок по кнопке включает событие, и автоматически строится заготовка обработчика события с нужным именем и параметрами. Вот как она выглядит:

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

{
}

Нам остается добавить свой текст. Я добавил следующие строки:

string temp;

temp = textBox1.Text;

if( temp == "")

textBox2.Text = "Здравствуй, мир!";

else


textBox2.Text = "Здравствуй, " + temp + " !";

И вот как это работает.






Рис. 2.5. Форма "Приветствие" в процессе работы

На этом мы закончим первое знакомство с проектaми на C# и в последующих лекциях приступим к систематическому изучению возможностей языка.






Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   16




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет