Несмотря на то,, что визуальный конструктор превосходен для визуального конструирования пользовательского интерфейса, его возможности в смысле реализации поведения ограничены. Вы можете использовать конструктор для размещения кнопки, но обработка нажатия кнопки и реакция на него — это по-прежнему область действия кода.
На уровне кода форма — это просто класс, который инкапсулирует все поведение формы. Для простоты разработки Visual Studio сводит весь код, который она пишет при помощи визуальных конструкторов, в отдельные четко маркированные области, а в случае Windows Forms — в отдельный файл кода. Этот файл называется в соответствии с именем основного файла кода формы примерно так: FormName.Designer.<pacuiHpeHHe языка>. Например, форма регистрации сопровождается файлом Login.Designer.cs, который реализует написанный визуальным конструктором код.
В листинге 6.1 показано, что Visual Studio сгенерировала в виде кода для реализации изменений, сделанных в визуальном конструкторе.
namespace Contoso.UI.WindowsForms.OrderEntry {
partial class Login {
III <surnmary>
III Необходимая для конструктора переменная.
Ill </summary>
private System.CofnponentModel.IContainer components = null;
III <summary>
III Очистка всех используемых ресурсов.
Ill </summary>
III <param name="disposincf"> true, если нужно очистить управляемые III ресурсы; в противном случае false.</param> protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code III <summary>
III Необходимый для поддержки конструктора метод - не изменяйте III содержимое этого метода средствами редактора кода.
Ill </summary>
private void InitializeComponent()
{
this.labell = new System.Windows.Forms.Label();
this.Iabel2 = new System.Windows.Forms.Label();
this.textBoxID = new System.Windows.Forms.TextBox();
this.textBoxPassword = new System.Windows.Forms.TextBox();
this.buttonCancel = new System.Windows.Forms.Button();
this.buttonOk - new System.Windows.Forms.Button();
this.SuspendLayout();
//
// labell //
this.labell.AutoSize = true;
this.labell.Location = new System.Drawing.Point(61, 23); this.labell.Name = "labell";
this.labell.Size = new System.Drawing.Size(17, 13); this.labell.Tablndex - 0; this.labell.Text = "ID:";
//
// label2 //
this.Iabel2.AutoSize = true;
this.Iabel2.Location - new System.Drawing.Point(26, 46); this.Iabel2.Name = "label2";
this.Iabel2.Size = new System.Drawing.Size(52, 13);
this.Iabel2.Tablndex = 1;
this.Iabel2.Text = "Password:";
//
// textBoxID //
this.textBoxID.Location - new System.Drawing.Point(85, 20);
this.textBoxID.Name - "textBoxID";
this.textBoxID.Size = new System.Drawing.Size(195, 20); this.textBoxID.Tablndex = 2;
//
11 textBoxPassword
11
this.textBoxPassword.Location = new System.Drawing.Point(85, 46); this.textBoxPassword.Name = "textBoxPassword"; this.textBoxPassword.Size = new System.Drawing.Size(195, 20); this.textBoxPassword.Tablndex = 3;
//
// buttonCancel //
this.buttonCancel.DialogResult =
System.Windows.Forms.DialogResult.Cancel;
this.buttonCancel.Location = new System.Drawing.Point(205, 72);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
this.buttonCancel.Tablndex = 4;
this.buttonCancel.Text = "Cancel";
//
// buttonOk //
this.buttonOk.Location = new System.Drawing.Point(124, 72); this.buttonOk.Name = "buttonOk";
this.buttonOk.Size = new System.Drawing.Size(75f 23); this.buttonOk.Tablndex = 5; this.buttonOk.Text = "OK";
//
// Login //
this.AcceptButton = this.buttonOk;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F) ;
this.AutoScaleMode = System. Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.buttonCancel;
this.ClientSize = new System.Drawing.Size(292, 109);
this.Controls.Add(this.buttonOk);
this.Controls.Add(this.buttonCancel);
this.Controls.Add(this.textBoxPassword);
this.Controls.Add(this.textBoxID);
this.Controls.Add(this.Iabel2);
this.Controls.Add(this.labell);
this.FormBorderStyle =
System.Windows.Forms.FormBorderStyle.FixedDialog; this.MaximizeBox - false; this.MinimizeBox = false; this.Name = "Login";
*
this.ShowInTaskbar = false;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; this.Text = "Login"; this.ResumeLayout(false); this.PerformLayout();
#endregion
private System.Windows.Forms.Label labell; private System.Windows.Forms.Label label2; private System.Windows.Forms.TextBox textBoxID; private System.Windows.Forms.TextBox textBoxPassword; private System.Windows.Forms.Button buttonCancel; private System.Windows.Forms.Button buttonOk;