Читаем Интернет-журнал "Домашняя лаборатория", 2007 №9 полностью

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.Tablndex = 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.Iabel2,

                      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. Форма "Приветствие" в процессе работы

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

3. Система типов языка С#

Общий взгляд. Система типов. Типы-значения и ссылочные типы. Встроенные типы. Сравнение с типами C++. Типы или классы? И типы, и классы! Преобразования переменных в объекты и vice versa. Операции "упаковать" и "распаковать". Преобразования типов. Преобразования внутри арифметического типа. Преобразования строкового типа. Класс Convert и его методы. Проверяемые преобразования. Управление проверкой арифметических преобразований.

Общий взгляд

Знакомство с новым языком программирования разумно начинать с изучения системы типов этого языка. Как в нем устроена система типов данных? Какие есть простые типы, как создаются сложные, структурные типы, как определяются собственные типы, динамические типы, как определяются классы?

Перейти на страницу:

Похожие книги