L b= Bound(Mang_bandau): U b= UBound(Mang_bandau)
2. Cách 2: Thay đổi trong lúc chương trình đang chạy: về thực chất, các thuộc tính chính là dữ liệu của các thành phần điều khiển (thường gọi chung các điều khiển này là đối tượ ng) hay
chính là các biến được định nghĩa riêng cho điều khiển đó cho nên ta có thể sử dụng phép gán thông thường để thay đổi giá trị cho một số thuộc tính. Cú pháp thực hiện như sau:
<Tên_điều_khiển>.<Tên_thuộc_tính> = giá trị thuộc tính <Tên_UserForm>.<Tên_thuộc_tính> = giá trị thuộc tính
Tên_điều_khiển hay Tên_UserForm ở đây chính là giá trị thuộc tính Name của điều khiển đã được đặt khi thiết kế. Khi viết mã lệnh trong một UserForm thì có thể thay việc dùng tên của UserForm đó bằng từ khoá Me.
Ví dụ, ứng với UserForm có tên là UserForm1 nhưở trên, có thể thay đổi tiêu đề của nó bằng mã lệnh như sau:
UserForm1.Caption = “Cua so chinh”
11.1.3.Các phương thức của UserForm và các thành phần điều khiển.
Các phương thức có thể xem chúng là những chương trình con đặc biệt, chúng chỉ làm việc với các dữ liệu của điều khiển và tương tác lên chính điều khiển đó. Để phương thức hoạt động, cần phải gọi nó (tương tự như gọi chương trình con) bằng mã lệnh khi lập trình. Cú pháp gọi phương thức của một điều khiển hay UserForm cũng tương tự như với biến đối tượng:
<Tên_điều_khiển>.<Tên_phương_thức> <(tham_số_của_phương_thức)> <Tên_UserForm>.<Tên_phương_thức> <(tham_số_của_phương_thức)>
Ví dụ: muốn hiển thị UserForm1 nhưở trên, gọi phương thức Show của nó với mã lệnh như sau: UserForm1.Show
Trong phạm vi của giáo trình, không thể liệt kê tất cả các phương thức của các điều khiển. Trong phần sau sẽ trình bày một số các phương thức cơ bản của một số loại điều khiển thông dụng. Để biết chi tiết về những phương thức khác, có thể tra cứu trong Object Browser hoặc trong Help Online của VBA IDE
11.1.4.Các sự kiện trên giao diện.
Các sự kiện trên UserForm hoặc các điều khiển được phát sinh khi có một hoạt động nào đó xảy ra – thường được phát sinh từ phía người dùng (sự kiện cũng có thểđược phát sinh một cách gián tiếp từ quá trình thực hiện một phương thức nào đó).Ví dụ, khi người dùng rê chuột trên bề mặt UserForm sẽ phát sinh sự kiện MouseMove, khi người dùng kích chuột trên UserForm sẽ phát sinh sự kiện Click.
Đi cùng với sự kiện còn có thủ tục sự kiện: là chương trình được thi hành khi sự kiện xảy ra. Thủ tục sự kiện cho phép người lập trình xử lý các tương tác của người dùng trên giao diện bằng cách viết các mã lệnh trong thủ tục sự kiện.
Để viết mã lệnh cho một thủ tục sự kiện trên một UserForm, vào cửa sổ mã lệnh của UserForm đó (nháy đúp chuột vào UserForm), chọn điều khiển và loại sự kiện tương ứng. Sau đó viết mã lệnh vào trong thủ tục sự kiện đã được tạo ra.
Một số sự kiện cơ bản của UserForm và các điều khiển: Ø
ØClick: xảy ra khi người dùng kích chuột trên UserForm hoặc trên điều khiển Ø
ØDblClick: xảy ra khi người dùng kích đúp chuột trên UserForm hoặc trên điều khiển Ø
ØKeyPress: xảy ra khi người dùng nhấn một phím. Ø
ØKeyUp: xảy ra khi người dùng nhả một phím (sau khi đã nhấn xuống). Ø
ØKeyDown: xảy ra khi người dùng nhấn một phím (nhưng chưa nhả ra). Ø
ØMouseMove: xảy ra khi người dùng rê chuột ngang qua một điều khiển hoặc trên UserForm.
Ø
ØMouseUp: xảy ra khi người dùng nhả phím chuột (sau khi đã nhấn chuột). Ø
ØMouseDown: xảy ra khi người dùng nhấn phím chuột (nhưng chưa nhả ra).
11.1.5.Ví dụ
Tạo một UserForm và viết mã lệnh để khi kích chuột vào UserForm sẽ hiển thị số lần kích chuột trên tiêu đề của nó đồng thời đổi màu nền của UserForm theo tình huống: nếu số lần kích chuột là chẵn thì màu đen, là lẻ thì màu trắng.
Các thao tác như sau:
1. Thêm UserForm vào trong dự án bằng cách chọn Insert Ö UserForm.
2. Đặt tên UserForm là “usfCuaso1” trong thuộc tính Name của cửa sổ Properties; đặt tiêu đềxuất phát của UserForm là “Cua so chinh” trong thuộc tính Caption của cửa số Properties. xuất phát của UserForm là “Cua so chinh” trong thuộc tính Caption của cửa số Properties.
Chọn đối tượng Chọn sự kiện
3. Viết mã lệnh cho sự kiện Click của UserForm (hiển thị cửa sổ lệnh của UserForm bằng cách nháy đúp chuột vào UserForm, chọn UserForm và sự kiện Click). nháy đúp chuột vào UserForm, chọn UserForm và sự kiện Click).
Mã lệnh cho thủ tục sự kiện Click như sau: Private Sub UserForm_Click() Static numClick As Long numClick = numClick + 1 If numClick Mod 2 = 0 Then Me.BackColor = vbBlack Else
Me.BackColor = vbWhite End If
usfCuaso1.Caption = "Number of Click: " & Str(numClick) End Sub
Trong đoạn mã trên, vbBlack là hằng số tương ứng với màu đen, vbWhite là hằng số tương ứng với màu trắng. Hai hằng số này được định nghĩa sẵn trong VB.
11.2. Làm việc với UserForm
Các nguyên tắc làm việc với UserForm như thiết lập và thay đổi thuộc tính, gọi các phương thức hay xử lý các sự kiện đã được trình bày ở phần trước. Dưới đây chỉ giới thiệu một số phương thức khác của UserForm.
Ø
ØHiển thị UserForm: thực hiện phương thức Show Tên_UserForm.Show [vbModal/ vbModeless]
Nếu dùng vbModal (hoặc 1): hộp thoại (UserForm) sẽ hiển thịở dạng Modal – tức là luôn tiếp nhận tương tác người dùng với hộp thoại, người dùng chỉ có thể chuyển hướng tương tác sang nơi khác khi đóng hộp thoại. Đây là kiểu hiển thị mặc định của hộp thoại.
Nếu dùng vbModeless (hoặc 0): hộp thoại vẫn được hiển thị nhưng người dùng có thể chuyển hướng tương tác sang nơi khác mà không cần đóng hộp thoại.
Ø
Tên_UserForm.Hide Ø
ØQuay lại trạng thái trước lệnh cuối cùng được thực hiện trên UserForm: thực hiện phương thức UndoAction
Tên_UserForm.UndoAction Ø
ØTrả lại trạng thái trước khi thực hiện Undo: thực hiện phương thức RedoAction Tên_UserForm.RedoAction
Ví dụ
Tạo một UserForm với các điều khiển như hình dưới đây:
Trình tự như sau: