مقدمه Windows Forms 🖥️
ساخت اپلیکیشنهای دسکتاپ زیبا و کاربردی با Windows Forms!
Windows Forms چیست؟
Windows Forms یک فریمورک قدرتمند برای ساخت اپلیکیشنهای دسکتاپ در ویندوز است. با استفاده از WinForms میتوانید رابطهای کاربری زیبا و تعاملی بسازید.
// در Visual Studio:
// File → New → Project → Windows Forms App (.NET)
using System;
using System.Windows.Forms;
namespace MyFirstWinFormsApp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}
طراحی فرم با Visual Studio Designer
Visual Studio یک Designer قدرتمند دارد که به شما امکان طراحی فرمها به صورت بصری را میدهد. میتوانید کنترلها را با کشیدن و رها کردن اضافه کنید.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// تنظیمات فرم
this.Text = "اولین اپلیکیشن من";
this.Size = new Size(400, 300);
this.StartPosition = FormStartPosition.CenterScreen;
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
}
}
اضافه کردن کنترلها
میتوانید کنترلهای مختلفی مثل Button، Label، TextBox و غیره را به فرم اضافه کنید. هر کنترل ویژگیها و رویدادهای خاص خود را دارد.
public Form1()
{
InitializeComponent();
// ایجاد یک Label
Label lblWelcome = new Label();
lblWelcome.Text = "خوش آمدید!";
lblWelcome.Location = new Point(50, 30);
lblWelcome.Size = new Size(100, 30);
// ایجاد یک Button
Button btnClick = new Button();
btnClick.Text = "کلیک کنید";
btnClick.Location = new Point(50, 80);
btnClick.Size = new Size(100, 30);
// اضافه کردن به فرم
this.Controls.Add(lblWelcome);
this.Controls.Add(btnClick);
}
مدیریت رویدادها (Event Handling)
رویدادها اجازه میدهند که فرم شما به اعمال کاربر واکنش نشان دهد. مثلاً وقتی کاربر روی دکمه کلیک میکند، یک رویداد اتفاق میافتد.
public partial class Form1 : Form
{
private Label lblMessage;
private Button btnGreet;
private TextBox txtName;
public Form1()
{
InitializeComponent();
SetupForm();
}
private void SetupForm()
{
// تنظیمات فرم
this.Text = "فرم خوشآمدگویی";
this.Size = new Size(350, 200);
// TextBox برای نام
txtName = new TextBox();
txtName.Location = new Point(50, 30);
txtName.Size = new Size(200, 25);
// Button برای سلام
btnGreet = new Button();
btnGreet.Text = "سلام بگو";
btnGreet.Location = new Point(50, 70);
btnGreet.Click += BtnGreet_Click; // اتصال رویداد
// Label برای نمایش پیام
lblMessage = new Label();
lblMessage.Location = new Point(50, 110);
lblMessage.Size = new Size(250, 30);
// اضافه کردن کنترلها
this.Controls.Add(txtName);
this.Controls.Add(btnGreet);
this.Controls.Add(lblMessage);
}
private void BtnGreet_Click(object sender, EventArgs e)
{
string name = txtName.Text;
if (!string.IsNullOrEmpty(name))
{
lblMessage.Text = $"سلام {name}! خوش آمدید!";
}
else
{
lblMessage.Text = "لطفاً نام خود را وارد کنید.";
}
}
}
تمرین! 🧠
یک فرم Windows Forms بسازید که شامل یک TextBox برای وارد کردن عدد، یک Button برای محاسبه و یک Label برای نمایش نتیجه باشد. وقتی کاربر عددی وارد کرد و دکمه را زد، مربع آن عدد نمایش داده شود.
جواب تمرین
public partial class Form1 : Form
{
private TextBox txtNumber;
private Button btnCalculate;
private Label lblResult;
public Form1()
{
InitializeComponent();
SetupCalculatorForm();
}
private void SetupCalculatorForm()
{
this.Text = "محاسبهگر مربع";
this.Size = new Size(300, 180);
// TextBox برای عدد
txtNumber = new TextBox();
txtNumber.Location = new Point(50, 30);
txtNumber.Size = new Size(150, 25);
// Button برای محاسبه
btnCalculate = new Button();
btnCalculate.Text = "محاسبه مربع";
btnCalculate.Location = new Point(50, 70);
btnCalculate.Size = new Size(100, 30);
btnCalculate.Click += BtnCalculate_Click;
// Label برای نتیجه
lblResult = new Label();
lblResult.Location = new Point(50, 110);
lblResult.Size = new Size(200, 30);
this.Controls.Add(txtNumber);
this.Controls.Add(btnCalculate);
this.Controls.Add(lblResult);
}
private void BtnCalculate_Click(object sender, EventArgs e)
{
if (int.TryParse(txtNumber.Text, out int number))
{
int square = number * number;
lblResult.Text = $"مربع {number} برابر {square} است.";
}
else
{
lblResult.Text = "لطفاً یک عدد معتبر وارد کنید.";
}
}
}