Xây dựng ứng dụng desktop với WinForms/WPF trong C# – Phần 16

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Xây dựng ứng dụng desktop với WinForms/WPF trong C# – Phần 16

 

Xây dựng ứng dụng desktop với WinForms/WPF trong C# – Phần 16

1. Giới thiệu về WinForms và WPF

Khi phát triển ứng dụng desktop trong C#, có hai công nghệ chính:

🔹 WinForms (Windows Forms): Giao diện đơn giản, dễ học, phù hợp với các ứng dụng nhỏ.
🔹 WPF (Windows Presentation Foundation): Giao diện hiện đại, hỗ trợ thiết kế UI nâng cao, phù hợp với các ứng dụng phức tạp.

2. Cài đặt WinForms và WPF

2.1. Cài đặt WinForms

👉 Tạo project WinForms:

dotnet new winforms -n MyWinFormsApp
cd MyWinFormsApp
dotnet run

📌 Lệnh này sẽ tạo và chạy ứng dụng WinForms cơ bản.

2.2. Cài đặt WPF

👉 Tạo project WPF:

dotnet new wpf -n MyWPFApp
cd MyWPFApp
dotnet run

📌 Ứng dụng WPF sẽ mở với cửa sổ giao diện mặc định.

3. Xây dựng ứng dụng với WinForms

3.1. Thiết kế giao diện

💡 Tạo form với nút bấm và label.

👉 Mở Form1.cs và sửa lại như sau:

using System;
using System.Windows.Forms;

public class MainForm : Form
{
    private Label label;
    private Button button;

    public MainForm()
    {
        Text = "Ứng dụng WinForms";
        Width = 300;
        Height = 200;

        label = new Label() { Text = "Chào bạn!", Top = 50, Left = 100 };
        button = new Button() { Text = "Nhấn tôi", Top = 100, Left = 100 };

        button.Click += (sender, e) => label.Text = "Bạn đã nhấn nút!";

        Controls.Add(label);
        Controls.Add(button);
    }

    [STAThread]
    public static void Main()
    {
        Application.Run(new MainForm());
    }
}

📌 Chạy chương trình, bạn sẽ thấy một giao diện đơn giản với nút bấm.

4. Xây dựng ứng dụng với WPF

4.1. Thiết kế giao diện XAML

👉 Mở MainWindow.xaml và thay đổi như sau:

<Window x:Class="MyWPFApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        Title="Ứng dụng WPF" Height="200" Width="300">
    <Grid>
        <Label Name="myLabel" Content="Chào bạn!" HorizontalAlignment="Center" VerticalAlignment="Top" Margin="0,50,0,0"/>
        <Button Name="myButton" Content="Nhấn tôi" Width="100" Height="30"
                HorizontalAlignment="Center" VerticalAlignment="Center" Click="Button_Click"/>
    </Grid>
</Window>

4.2. Xử lý sự kiện trong C#

👉 Mở MainWindow.xaml.cs và thêm code xử lý sự kiện

using System.Windows;

namespace MyWPFApp
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            myLabel.Content = "Bạn đã nhấn nút!";
        }
    }
}

📌 Chạy ứng dụng WPF, nhấn vào nút và quan sát thay đổi trên giao diện.

5. So sánh WinForms và WPF

Đặc điểm WinForms WPF
Giao diện Đơn giản Hiện đại, mạnh mẽ
Tốc độ phát triển Nhanh Mất thời gian hơn
Hiệu suất Trung bình Cao hơn
Hỗ trợ XAML ❌ Không ✅ Có
Khả năng mở rộng Trung bình Cao

📌 WinForms phù hợp với ứng dụng nhỏ, WPF phù hợp với ứng dụng lớn và phức tạp.

6. Tổng Kết

✅ WinForms giúp tạo ứng dụng nhanh chóng.
✅ WPF mạnh mẽ hơn, hỗ trợ giao diện đẹp.
✅ C# hỗ trợ cả hai công nghệ tùy vào nhu cầu sử dụng.

💡 Bài tiếp theo:
👉 Làm việc với Entity Framework trong C# – Phần 17 🚀

Bài viết liên quan