جدا کردن محیط طراحی از محیط کدنویسی

وقتی یک فرم ویندوزی جدید ایجاد می‌کنیم، یک کلاس که از System.Windows.Forms.Form ارث بری می‌کند تولید می‌شود. این کلاس به دو فایل جدا و وابسته به هم تقسیم می‌شود و یک کلاس تکه تکه (Partial class) را به وجود می‌آورد. کلاسهای تکه تکه (Partial classes) به شما اجازه تعریف جداگانه یک کلاس در فایل‌های مختلف در داخل یک پروژه وفضای نام یکسان را می‌دهند. با معرفی کلاس‌های partial در .NET 3.5 ویژوال استودیو قدرت جداسازی محیط طراحی از محیط کد نویسی را کسب کرد. این قابلیت به برنامه نویس اجازه می‌دهد که بر روی بخش کدنویسی برنامه تمرکز کند. به عنوان مثال نام فایلهای یک فرم به نام FormName در محیط‌های کدنویسی و طراحی به صورت زیر است:

FormName.cs 
FormName.Designer.cs

یک فایل سومی هم با پسوند .regx وجود دارد که در آینده درباره آن توضیح داده خواهد شد. بعد از ایجاد یک فرم، اضافه کردن کنترل و دستکاری خواص همه کدها همه در یک فایل تا حدودی مخفی با پسوند .Designer.cs نوشته می‌شوند. برای مشاهده این فایل می‌توانید از Solution Explorer استفاده کنید.
design-functionality-01
با دوبار کلیک بر روی این فایل به شما اجازه مشاهده همه کدهای ایجاد شده توسط ویژوال استودیو داده می‌شود. این کدها شامل متدهایی برای مرتب سازی و مقداردهی به کنترل‌ها می‌باشند. شما می‌توانید کنترل‌هایی را که تعریف شده‌اند و خواصی مانند محل و متن کنترل، که شما در پنجره‌ی Properties به آنها مقادیری را اختصاص داده‌اید را مشاهده نمایید. همچنین قسمت Event handler را که به رویدادهای کنترل‌ها وصل شده است را مشاهده می‌کنید. اگر نمی‌توانید قسمت کد را ببینید، به طور پیش فرض مخفی است و به قسمت “Windows Forms Designer generated code” متصل است برای نمایش آن بر روی آیکن + کلیک کنید تا قسمت کد نمایش داده شود. در آینده مشاهده خواهید کرد که مقدار دهی کنترل‌ها و خواص و رویدادهای مربوط به آنها در داخل متدی به نام InitializeComponent صورت می‌گیرد. این متد در داخل سازنده فرم واقع در کدهای اصلی کلاس فرم فراخوانی می‌شود. کدهای نوشته شده در فایل Designer از چشم شما مخفی هستند چون Visual Studio می‌خواهد که شما به جای نوشتن کد به صورت دستی از پنجره Properties و محیط طراحی برای ایجاد یک برنامه ویندوزی استفاده نمایید.