ایجاد فرم های چند گانه در سی شارپ

تعداد کمی از برنامه نویسان، تنها از یک فرم در برنامه‌هایشان استفاده می‌کنند. بیشتر برنامه‌ها دارای چندین فرم هستند، که از طریق فرم اصلی قابل دسترسی می‌باشند. در این درس، چگونگی ایجاد برنامه‌هایی با چندین فرم را آموزش می‌دهیم. برنامه‌ای ساده که دارای یک فرم، یک جعبه متن و یک دکمه است مانند شکل زیر ایجاد می‌کنیم. می‌خواهیم وقتی بر روی دکمه کلیک شد، فرم دوم نمایش داده شود. در داخل فرم دوم هم، می‌خواهیم به کاربر اجازه تغییر متن داخل جعبه متن در فرم یک را بدهیم. شکل کلی برنامه به صورت زیر است:

MDI-Forms-in-c# (1)
فرم بالا را طراحی کنید. خاصیت Name جعبه متن را به txtChangeCase تغییر دهید. در داخل خاصیت Text جعبه متن هم یک متن پیشفرض بنویسید (به صورت حروف کوچک). خاصیت Name دکمه را هم به btnFormTwo تغییر دهید. یک فرم جدید هم به پروژه اضافه کنید. در نوار منو در بالای محیط برنامه سی شارپ بر روی گزینه project کلیک کرده و از منوی باز شده گزینه Add New Windows Form را انتخاب کنید:
MDI-Forms-in-c# (2)

مشاهده می‌کنید که مانند شکل زیر، کادر Add New Item ظاهر می‌شود. نام پیشفرض آن (Form2.cs) را تغییر ندهید و بر روی دکمه OK کلیک کنید :

MDI-Forms-in-c# (3)

تا مانند شکل زیر فرم دوم به برنامه اضافه شود :

MDI-Forms-in-c# (4)

نام فرم جدید به Solution Explorer واقع در سمت راست برنامه اضافه می‌شود :

MDI-Forms-in-c# (5)
اضافه کردن فرم به برنامه راحت است. موضوع اصلی نمایش آن در برنامه است. برای نمایش فرم دوم باید به این نکته توجه داشته باشید که فرم‌ها، کلاس هستند. در نتیجه برای کار با کلاس Form2 باید یک شئ از آن ایجاد کنید. بنابراین بر روی دکمه دوبار کلیک کرده تا وارد محیط کدنویسی شوید. برای ایجاد یک شیء از فرم دوم یک متغیر به صورت زیر تعریف می‌کنیم :

Form2 secondForm;

سپس یک شئ جدید ایجاد می‌کنید:

secondForm = new Form2();

پیشنهاد می‌کنیم که دو خط کد بالا را به صورت تک خط زیر بنویسید :

Form2 secondForm = new Form2();

کد بالا یک شیء جدید از کلاس Form2 با نام secondForm ایجاد می‌کند. برای نمایش فرم از متد ()Show به صورت زیر استفاده می‌کنیم :

secondForm.Show();

کد نهایی باید به صورت زیر باشد :

private void btnFormTwo_Click(object sender, EventArgs e)
{
    Form2 secondForm = new Form2();
    secondForm.Show();
}

برنامه را اجرا و آن را امتحان می‌کنیم. بر روی دکمه کلیک می‌کنیم تا فرم دوم نمایش داده شود. یک مشکل کوچک وجود دارد. اگر بر روی دکمه دوباره کلیک کنید، فرم‌های دیگری ایجاد و نمایش داده می‌شوند. برای رفع این مشکل کد بالا را به صورت زیر تغییر دهید :

Form2 secondForm = new Form2();
private void btnFormTwo_Click(object sender, EventArgs e)
{
    secondForm.Show();
}

برنامه را دوباره اجرا و بر روی دکمه چندین بار کلیک کنید. در درس بعدی به فرم ایجاد شده قابلیت‌های بیشتری اضافه می‌کنیم.