[Bài 04] - MessageBox trong C#


Chào các bạn!

Hôm nay mình xin giới thiệu với các bạn một đối tượng phổ biến khác trong lập trình Winform với C# - đó là MessageBox.


GIỚI THIỆU

Chắc hẳn MessageBox đã quá quen thuộc với chúng ta khi sử dụng hệ điều hành Windows, nó được dùng để hiển thị ra các thông báo đến người sử dụng. Ngôn ngữ C# và nền tảng .NET Framework đã hỗ trợ rất nhiều trong việc sử dụng MessageBox.

MessageBox là một lớp (class) nằm trong System.Windows.Forms có một phương thức Show để hiển thị thông báo. Có rất nhiều kiểu thông báo, bạn có thể điều chỉnh nội dung thông báo, tiêu đề, các nút OK-Cancel, biểu tượng, v.v...

Trong từng trường hợp, các MessageBox sẽ có cách sử dụng khác nhau:
  •  Thông báo cho người sử dụng biết không thể sử dụng chức năng hay lưu ý một vấn đề trong chương trình
  •  Cần sự xác nhận của người sử dụng đối với một lệnh quan trọng như: Xóa một dữ kiện quan trọng, thoát nhưng chưa lưu trữ, tắt một lúc nhiều ứng dụng,…
Lý thuyết bao nhiêu đây đủ rồi, ta đi đến phần hướng dẫn sử dụng nhé :D


THIẾT LẬP CHO MESSAGEBOX

Ta xét đoạn code sau:
MessageBox.Show("Cùng học lập trình với IceTea Việt");
Và kết quả: Đây là kiểu thông báo đơn giản nhất, chỉ có nội dung và nút OK, chưa bao gồm biểu tượng, tiêu đề, v.v..


TIÊU ĐỀ CỦA MESSAGEBOX
Để có tiêu đề ta thêm 1 tham số chuỗi truyền vào phương thức như sau:
MessageBox.Show("Xin chào! Tôi là C#","Thông báo");

CÁC BUTTON TRÊN MESSAGEBOX
Như các bạn thấy, mặc định MessageBox của chúng ta sẽ có nút bấm là OK. Để cài đặt tùy chọn nút bấm, ta cũng thêm 1 tham số kiểu enum là:
MessageBoxButtons.<loại nút> 
Các loại nút có sẵn bao gồm AbortRetryIgnore, OK, OKCancel, RetryCancel,YesNo, YesNoCancel.
Ví dụ:

MessageBox.Show("Xin chào! Tôi là C#", "Thông báo", MessageBoxButtons.AbortRetryIgnore);

Để xử lý các sự kiện khi nhấn vào các nút này mình sẽ hướng dẫn bên dưới sau.

ICON CỦA MESSAGEBOX
Để thêm vào icon ta thêm tham số kiểu enum 
MessageBoxIcon.<loại icon>
Có nhiều loại nhưng phổ biến là Warning (tam giác vàng có dấu chấm than), Error (hình tròn đỏ có chữ X), Information (hình tròn xanh lam có chữ i), Question (hình tròn lam có dấu chấm hỏi).
Ví dụ:
MessageBox.Show("Bạn có thích lập trình không?", "IceTea Việt", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);
Kết quả:
Còn rất nhiều tùy chọn khác (Default button, options, Help button, using the specified Help file, HelpNavigator, Help topic) các bạn có thể tự khám phá trên MSDN.
Còn bây giờ mình sẽ hướng dẫn các bạn xử lý sự kiện khi click vào một button trên MessageBox.
XỬ LÝ SỰ KIỆN TRÊN MESSAGEBOX
Để xử lý sự kiện trên MessageBox ta cần dùng một biến để lưu giá trị trả về của phương thức MessageBox.Show(). Biến đó có kiểu là DialogResult.
DialogResult dlr = MessageBox.Show("Bạn có thích lập trình không?", "IceTea Việt", MessageBoxButtons.YesNoCancel,MessageBoxIcon.Question);

Đến lúc này ta chỉ cần xét giá trị của biến dlr để xét điều kiện rẽ nhánh và xuất ra thứ mình muốn thôi. 
Lưu ý, giá trị của MessageBox là các giá trị nằm trong DialogResult Enumeration. Nên sẽ được gọi ra như (DialogResult.Yes, DialogResult.Abort,…)
if (dlr == DialogResult.Yes)
{
     MessageBox.Show("Hãy truy cập blog IceTea Việt để học nhiều bài học hay và thú vị nhé!");
}
else
     MessageBox.Show("Hãy truy cập blog IceTea Việt, biết đâu bạn sẽ có hứng thú với lập trình :D");

Và kết quả sau khi chọn Yes

Với những giới thiệu sơ lược trên, chắc hẳn các bạn đã có thể nắm được cách sử dụng cơ bản về MessageBox trong Windows Form.

MẸO NHỎ
Các bạn có thể viết nhanh phương thức MessageBox.Show bằng cách gõ mbox sau đó tab để nó hoàn chỉnh thành MessageBox.Show(“Test”); sau đó chỉ cần thay đổi dòng Test thôi :D

Như thường lệ mình cũng có một số đoạn code sau để cho các bạn dự đoán kết quả của nó khi chạy nhé :D
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
     DialogResult dlr = MessageBox.Show("Bạn muốn thoát chương trình?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
     if (dlr == DialogResult.No) e.Cancel = true;
}
Và đoạn code thứ 2
private void button1_Click(object sender, EventArgs e)
{
     DialogResult dlr = MessageBox.Show("Chọn Yes No?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
     if (dlr == DialogResult.Yes)
       {
           Application.Exit();
       }
}

TỔNG KẾT

MessageBox là đối tượng dùng để xuất thông báo ra màn hình hoặc lấy hiệu lệnh từ người dùng một cách hiệu quả nhất. Nó luôn xuất hiện trong những ứng dụng từ nhỏ đến lớn. Người lập trình có thể tùy chỉnh phối hợp các thuộc tính của MessageBox để tạo ra những hộp thoại phù hợp cho mục đích sử dụng

Chào các bạn, chúc các bạn học tốt và hẹn gặp lại vào bài sau :D



Post a Comment

[facebook][blogger]

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget