الگوریتم اول

لطفا صبر کنید...

طراحی و پیاده‌سازی GUI در #C

طراحی و پیاده‌سازی رابط کاربری گرافیکی (GUI) در #C

#C از سه فریم‌ورک اصلی برای طراحی و پیاده‌سازی رابط کاربری گرافیکی (GUI) پشتیبانی می‌کند:

  1. Windows Forms (WinForms) – فریم‌ورکی قدیمی اما ساده برای ایجاد برنامه‌های دسکتاپ
  2. Windows Presentation Foundation (WPF) – فریم‌ورکی مدرن با قابلیت طراحی رابط کاربری پیشرفته
  3. MAUI (Multi-platform App UI) – فریم‌ورکی جدید برای ساخت اپلیکیشن‌های چندپلتفرمی

۱. Windows Forms (WinForms)

WinForms یکی از اولین روش‌ها برای طراحی رابط گرافیکی در #C است که هنوز هم محبوبیت دارد. این فریم‌ورک مبتنی بر کنترل‌ها (Controls) مانند دکمه، لیبل، تکست‌باکس و غیره است.

نصب و ایجاد پروژه WinForms در Visual Studio

  1. در Visual Studio یک پروژه جدید از نوع Windows Forms App (.NET) ایجاد کنید.
  2. فایل Form1.cs را باز کنید، محیط طراحی را مشاهده خواهید کرد.
  3. از Toolbox کنترل‌هایی مانند Button، TextBox، Label را بکشید و در فرم قرار دهید.

مثال: فرم ساده با یک دکمه

using System;
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

  1. یک پروژه WPF App (.NET) جدید در Visual Studio بسازید.
  2. فایل MainWindow.xaml را باز کنید.

مثال: فرم WPF با دکمه و رویداد کلیک

<Window x:Class="WpfApp.MainWindow"
        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)

using System.Windows;

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

  1. در Visual Studio 2022 یک پروژه .NET MAUI App ایجاد کنید.
  2. فایل MainPage.xaml را باز کنید.

مثال: فرم MAUI با دکمه و نمایش پیغام

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             x:Class="MauiApp.MainPage">
    <VerticalStackLayout>
        <Button Text="کلیک کن" Clicked="OnButtonClicked"/>
    </VerticalStackLayout>
</ContentPage>

کد پشت پرده (#C)

using Microsoft.Maui.Controls;

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 توصیه می‌شود.