Trong C#, khi bạn muốn hiển thị một form khác (ví dụ từ Form chính gọi ra Form phụ), bạn có hai cách phổ biến:
Hiển thị dưới dạng modal (chặn các thao tác với form cha)
var myForm = new MyForm();
myForm.ShowDialog();
Form cha bị khóa cho đến khi form con đóng.
Dùng khi bạn muốn người dùng phải xử lý xong ở form con trước khi quay lại.
Có thể lấy kết quả trả về từ DialogResult.
Ví dụ gọi form với Show()
var myForm = new MyForm();
if (myForm.ShowDialog() == DialogResult.OK)
{
// Xử lý khi form con OK
}
Hiển thị không chặn (non-modal)
var myForm = new MyForm();
myForm.Show();
Form cha vẫn hoạt động song song.
Dùng khi bạn muốn mở nhiều form hoặc form con không cần chặn thao tác form cha.
Video hướng dẫn gọi form với ShowDialog().Show()
Tính năng | ShowDialog() |
Show() |
---|---|---|
Chặn form cha | ✅ Có | ❌ Không |
Dùng cho nhập dữ liệu | ✅ Phù hợp | ❌ Không phù hợp |
Đa cửa sổ song song | ❌ Không | ✅ Có thể |
Lấy DialogResult |
✅ Có | ❌ Không |
Bạn muốn biết sự khác nhau giữa gọi form bằng hàm Show và ShowDialog
Tìm kiếm:
Gọi form với ShowDialog Show trong winform c#