Cách dụng MessageBox
{tocify} $title={Table of Contents} MsgBox (Message Box) là một hộp thoại hiển thị thông báo trên Excel. Hộp thoại này giúp cho người tạo chương trình thông báo đến người dùng những thông báo cần thiết. Hộp thoại này có thể trả về hoặc không trả về kết quả khi người dùng tương tác vào các nút lệnh trên hộp thông báo.
Đây là chuỗi nội dung cần hiển thị trên hộp thông báo. Độ dài cho phép tối đa là 1024 ký tự. Trong chuỗi hiển thị thông báo này các bạn có thể kết hợp với các ký tự đặt biệt để ngắt dòng, chèn tab, về đầu dòng, ... Các ký tự đặc biệt trong VBA:
Là các nút nhấn và biểu tượng hiển thị trên hộp thông báo. Đây là thuộc tính không bắt buộc, được biểu thị bằng tổng các giá trị chỉ định số lượng và loại nút hiển thị, loại biểu tượng sử dụng, tên nút và loại hộp thông báo. Nếu thuộc tính này được bỏ qua, thì giá trị mặc định cho các nút là 0. Bảng giá trị buttons: (nguồn từ Microsoft).
Lưu ý:
Thuộc tính này không bắt buộc. Đây là chuỗi được hiển thị trên thanh tiêu đề của hộp thông báo. Nếu thuộc tính này được bỏ qua, thì thanh tiêu đề sẽ hiển thị mặc định là Microsoft Excel. Thuộc tính này không bắt buộc, không thường được sử dụng, tôi xin được bỏ qua. Các giá trị trả về khi nhấn các nút lệnh trên MsgBox: Mình sẽ có nhiều ví dụ có sử dụng MsgBox, khi đó các bạn sẽ hiểu rõ hơn về MsgBox. Các bạn mở trình soạn thảo code, và tạo một đoạn chương trình như sau: Private Sub CommandButton1_Click() Dim Msg, Style, Title, Help, Ctxt, Response, MyString Msg = "Xin chao moi nguoi," & _ " toi la Kungfu Excel" & Chr(10) & _ "Chuc moi nguoi mot ngay vui ve!" Style = vbYesNo + vbCritical + vbDefaultButton2 Title = "Welcome Message" Res = MsgBox(Msg, Style, Title, Help, Ctxt) If Res = vbYes Then MsgBox "Ban moi nhan nut Yes" Else MsgBox "Ban moi nhan nut No" End If End SubTạo một nút lệnh trên worksheet, và gán đoạn chương trình mới tạo ở trên vào. Nhấp vào nút lệnh, hộp thông báo xuất hiện. Trong ví dụ trên, chúng ta đã sử dụng biến Msg để nhận giá trị trả về. Dựa vào bảng các giá trị trả về, nếu giá trị trả về là hằng số vbYes, thì sẽ xuất ra thông báo "Ban moi nhan nut Yes", nếu giá trị trả về là hằng số vnNo thì sẽ xuất ra thông báo "Ban moi nhan nut No".
Chắc hẳn MessageBox đã quá quen thuộc với chúng ta khi sử dụng hệ điều hành Windows. Ngôn ngữ C# và nền tảng .NET Framework đã hỗ trợ rất nhiều trong việc sử dụng MessageBox. Bài viết này sẽ hướng dẫn các bạn làm quen với MessageBox trong Windows Form. 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... MessageBox.Show("Xin chào! Tôi là C#"); Đâ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..
MessageBox.Show("Xin chào! Tôi là C#","Thông báo");
Để cài đặt nút bấm, ta cũng thêm 1 tham số kiểu enum là MessageBoxButtons. 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. Để thêm vào icon ta thêm tham số kiểu enum là MessageBoxIcon. MessageBox.Show("Xin chào! Tôi là C#", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); Còn rất nhiều tùy chọn khác các bạn có thể tự khám phá. 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. Giả sử bạn có một Form, và bạn muốn khi người dùng nhấp vào nút Close trên thanh tiêu đề thì sẽ có thông báo hỏi người dùng có muốn thoát chương trình. Nếu người dùng chọn Yes, chương trình sẽ kết thúc, chọn No sẽ không tắt chương trình. Ta xử lý sự kiện FormClosing, tức là một Form đang đóng lại (nháy vào nút X hoặc lệnh this.Close(),...). Bạn sẽ dùng một biến kiểu DialogResult để lưu lại kết quả trả về của phương thức MessageBox.Show() DialogResult dlr = MessageBox.Show("Bạn muốn thoát chương trình?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); Đến lúc này ta chỉ cần xét giá trị của biến dlr để rẽ nhánh thôi. Vì Form đang đóng nên nếu người dùng nhấn No thì sẽ hoãn hành động đóng lại, tham số sự kiện của FormClosing là e nên ta thực hiện như sau: 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ới những giới thiệu sơ lược về, các bạn đã có thể nắm được cách sử dụng cơ bản về MessageBox trong Windows Form. Page 2
home lập trình tản mạn about ▼
|