طراحی و پیادهسازی GUI در #C
طراحی و پیادهسازی رابط کاربری گرافیکی (GUI) در #C
#C از سه فریمورک اصلی برای طراحی و پیادهسازی رابط کاربری گرافیکی (GUI) پشتیبانی میکند:
- Windows Forms (WinForms) – فریمورکی قدیمی اما ساده برای ایجاد برنامههای دسکتاپ
- Windows Presentation Foundation (WPF) – فریمورکی مدرن با قابلیت طراحی رابط کاربری پیشرفته
- MAUI (Multi-platform App UI) – فریمورکی جدید برای ساخت اپلیکیشنهای چندپلتفرمی
۱. Windows Forms (WinForms)
WinForms یکی از اولین روشها برای طراحی رابط گرافیکی در #C است که هنوز هم محبوبیت دارد. این فریمورک مبتنی بر کنترلها (Controls) مانند دکمه، لیبل، تکستباکس و غیره است.
نصب و ایجاد پروژه WinForms در Visual Studio
- در Visual Studio یک پروژه جدید از نوع Windows Forms App (.NET) ایجاد کنید.
- فایل Form1.cs را باز کنید، محیط طراحی را مشاهده خواهید کرد.
- از Toolbox کنترلهایی مانند Button، TextBox، Label را بکشید و در فرم قرار دهید.
مثال: فرم ساده با یک دکمه
using System.Windows.Forms;
namespace WinFormsApp
{
public class MainForm : Form
{
private Button myButton;
public MainForm()
{
this.Text = "برنامه WinForms";
this.Width = 300;
this.Height = 200;
myButton = new Button();
myButton.Text = "کلیک کن";
myButton.Location = new System.Drawing.Point(100, 50);
myButton.Click += MyButton_Click;
this.Controls.Add(myButton);
}
private void MyButton_Click(object sender, EventArgs e)
{
MessageBox.Show("دکمه کلیک شد!");
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new MainForm());
}
}
}
🔹 Form یک پنجره را تعریف میکند.
🔹 Button دکمهای را ایجاد کرده و Click آن را کنترل میکند.
🔹 ()MessageBox.Show پیغامی را نمایش میدهد.
۲. Windows Presentation Foundation (WPF)
WPF نسبت به WinForms امکانات پیشرفتهتری دارد و از XAML برای طراحی استفاده میکند.
ایجاد پروژه WPF در Visual Studio
- یک پروژه WPF App (.NET) جدید در Visual Studio بسازید.
- فایل MainWindow.xaml را باز کنید.
مثال: فرم WPF با دکمه و رویداد کلیک
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
Title="برنامه WPF" Height="200" Width="300">
<Grid>
<Button Content="کلیک کن" HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
</Grid>
</Window>
کد پشت پرده (#C)
namespace WpfApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show("دکمه کلیک شد!");
}
}
}
🔹 XAML برای طراحی رابط گرافیکی استفاده شده است.
🔹 ()Button_Click رویداد کلیک دکمه را کنترل میکند.
۳. MAUI – فریمورک چندپلتفرمی برای ویندوز، مک، اندروید و iOS
MAUI جدیدترین فریمورک برای ساخت اپلیکیشنهای چندپلتفرمی است. با استفاده از XAML و #C میتوان رابطهای گرافیکی را طراحی کرد.
ایجاد پروژه MAUI در Visual Studio
- در Visual Studio 2022 یک پروژه .NET MAUI App ایجاد کنید.
- فایل MainPage.xaml را باز کنید.
مثال: فرم MAUI با دکمه و نمایش پیغام
x:Class="MauiApp.MainPage">
<VerticalStackLayout>
<Button Text="کلیک کن" Clicked="OnButtonClicked"/>
</VerticalStackLayout>
</ContentPage>
کد پشت پرده (#C)
namespace MauiApp
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private void OnButtonClicked(object sender, EventArgs e)
{
DisplayAlert("پیام", "دکمه کلیک شد!", "باشه");
}
}
}
🔹 ContentPage برای تعریف صفحه استفاده شده است.
🔹 ()DisplayAlert برای نمایش پیام استفاده میشود.
۴. مقایسه فریمورکهای GUI در #C
فریمورک | مزایا | معایب |
---|---|---|
WinForms | یادگیری آسان، مناسب برای پروژههای کوچک | طراحی قدیمی، کمبود امکانات مدرن |
WPF | طراحی انعطافپذیر با XAML، انیمیشن و سبکدهی قوی | پیچیدگی بیشتر نسبت به WinForms |
MAUI | پشتیبانی از چند پلتفرم (Windows, Android, iOS, macOS) | نیازمند نسخه جدید Visual Studio، هنوز در حال توسعه |
جمعبندی
اگر قصد طراحی رابط کاربری برای برنامههای ویندوزی ساده را دارید، WinForms گزینهای سریع و راحت است. اگر به طراحی مدرنتر نیاز دارید، WPF بهتر خواهد بود. اما اگر میخواهید اپلیکیشن شما روی ویندوز، اندروید، iOS و مک اجرا شود، استفاده از MAUI توصیه میشود.
