VB.NET FORM (tương đương userform trong VBA)

tuhocvba

Administrator
Thành viên BQT
Giao diện giao tiếp với người dùng của VB.NET là FORM, được trang bị tới tận răng, chứ không thiếu thốn như UserForm bên VBA.
Vì không có điều kiện (thời gian) để tìm hiểu từ đầu, nên mình lập topic này để "chen ngang", tức là phát hiện ra cái gì hay ho thì cho vào topic này. Tất cả những gì liên quan tới form.

1. Về làm mờ, trong suốt.
Keyword : Transparent
Nếu như VBA hay cả VB6 phải vất vả khổ sở dùng hàm API thì VB.Net (mình đang dùng bản 2015) thật gọn nhẹ.
Như @NhanSu đã chỉ ra, chúng ta chỉ có một dòng code :
Mã:
Me.Opacity = 0.5
Miễn là một số nằm trong khoảng từ 0 tới 1. (Càng nhỏ thì càng mờ).

2. Hiển thị ra ngoài cùng, đè lên trên các cửa sổ khác.
Keyword : 最前面に表示する
Chắc các bạn còn nhớ tool học ngoại ngữ trong đó điều kiện bắt buộc là form phải hiển thị ra ngoài cùng.
Hoặc với tool VBA thì chúng ta có tool tái hiện thao tác bàn phím và chuột.
Với VBA hay VB6 thì quá vất vả.
Với VB.net thì tool học ngoại ngữ không được share code nên mình cũng không biết usa đã xử lý ra sao.
Mình tìm hiểu, thì cũng chỉ một dòng code :
Mã:
Me.TopMost = True
Nếu như bạn muốn làm nút bấm để chuyển qua lại on/off chế độ này thì code như sau :
Mã:
Me.TopMost = Not Me.TopMost
Bạn cần đăng nhập để thấy đính kèm

Form trong VB.Net có rất nhiều thuộc tính. Nên thực sự nếu tìm hiểu bài bản chắc là cũng mất cơ số thời gian đấy. Mình quan tâm tới đâu thì chia sẻ tới đó. Các bạn có kinh nghiệm gì thì chia sẻ thêm trong này nhé.
 

tuhocvba

Administrator
Thành viên BQT
TabPage này cũng giống với VBA.
Bạn cần đăng nhập để thấy đính kèm


Nhưng thao tác trên Visual thì khá tiện. Để chỉnh sửa thì vô đây:
Bạn cần đăng nhập để thấy đính kèm

Bạn cần đăng nhập để thấy đính kèm


Ở trên VBA ta có thuộc tính caption là những gì hiển thị ra trên đối tượng, ở Form thì thuộc này này tên là Tex. Hơi khác một chút nhưng cũng dễ đoán.

Panel: Mình chưa biết cái này để làm gì, ai biết xin chỉ giúp luôn, đỡ mất thời gian tìm hiểu ^^
Bạn cần đăng nhập để thấy đính kèm

GroupBox: Cái này tương đương Frame trong VBA. Tìm mỏi mắt không thấy Frame đâu, thì ra được cái này.
 

tuhocvba

Administrator
Thành viên BQT
Để chèn ảnh vô nút bấm, vb.net có : image, nếu dùng cái này thì có thể căn trái căn phải. Tuy nhiên kích thước ảnh không hỗ trợ chỉnh (mình chưa tìm hiểu kỹ, theo logic chắc là sẽ tác động được vào kích thước ảnh bằng code, tạm thời trên giao diện điều chỉnh thì chưa thấy thuộc tính kích thước).
Bên cạnh đó, có một cách khác là chọn màu nền cho nút bấm, Tex(tức Caption để rỗng), ảnh để chế độ zoom tự căn chỉnh.
Bạn cần đăng nhập để thấy đính kèm

Có thể chọn ảnh gif, jpg. Mình chưa thử png, có lẽ không có hạn chế gì.
 

tuhocvba

Administrator
Thành viên BQT
Để hiển thị một form khác, cái này hơi rườm rà xíu so với VBA.
Mã:
Dim f As New Form2()
'Hien thi Form2
f.ShowDialog(Me)
Nguồn:
 

tuhocvba

Administrator
Thành viên BQT
@NhanSu có biết chỉnh chiều cao của ô Textbox không? Mình không chỉnh được chiều cao của textbox?
Bạn cần đăng nhập để thấy đính kèm

Chỉnh kiểu gì thì cũng tự nhảy về 22 mới ghê.
 

tuhocvba

Administrator
Thành viên BQT
Để hiển thị nút bấm như thế này:
Bạn cần đăng nhập để thấy đính kèm


Size : 60, 60
Bạn cần đăng nhập để thấy đính kèm


Để mỗi lần di chuyển chuột vô nút bấm có tác dụng tương đường click vào nút bấm và hiện ra popup mình làm như sau:
Mã:
Private Sub Cmdtkz1_Click(sender As Object, e As EventArgs) Handles Cmdtkz1.Click, Cmdtkz1.MouseMove
        If (GroupBoxxyz.Visible = True) Then Exit Sub
        Call myhide()'Ẩn toàn bộ các popup đang có trên màn hình
        GroupBoxxyz.Visible = True'Cho hiển thị popup cần hiển thị
        GroupBoxxyz.Left = X'Điều chỉnh vị trí cần hiển thị
        GroupBoxxyz.Top = Y
End Sub
 
Top