làm nổi bật control có dấu nháy

Liên hệ QC

nguyennb

Thành viên hoạt động
Tham gia
23/10/07
Bài viết
103
Được thích
32
Tôi có một form với nhiều control để nhập dữ liệu như Textbox, combobox, listbox...tôi muốn khi dấu nháy "|" ở control nào thì control đó có mầu nổi bật so với các control khác. Dấu nháy này có thể do ta click hoặc từ một control khác nhấn phím Enter hoặc tab.
Bạn nào biết chỉ dùm tôi với.
 
Bạn sử dụng sự kiện hoặc on_Enter của từng control, trong đó ta sẽ set backcolor cho nó nổi bật lên, nhớ set các control còn lại về màu bình thường (hoặc dùng sự kiện on_Exit, để set màu bình thường)
 
Upvote 0
Bạn dùng sự kiện On GotFocus của từng control để đổi màu và dùng sự kiện On LostFocus (của từng control) để trả lại màu bình thường. Cái này có tác dụng với cả enter, tab từ control trước lẫn click chuột chọn cho chính control đang chỉnh sửa.
Còn sử dụng On Enter của control này phải set color của control kia và phải trả màu cho tất cả control còn lại. On exit cũng vậy. Hơn nữa lại còn không tác dụng với click chuột chọn.
 
Lần chỉnh sửa cuối:
Upvote 0
ptm0412 đã viết:
Bạn dùng sự kiện On GotFocus của từng control để đổi màu và dùng sự kiện On LostFocus

Mình không thấy cái sự kiện này trong VBA, là sao gọi được nó vậy bạn?
 
Upvote 0
SoiBien đã viết:
Mình không thấy cái sự kiện này trong VBA, là sao gọi được nó vậy bạn?
Nó vẫn ở trong VBA mà bác. Nó nằm ngay trong các sự kiện của các Control mà (Command Button chẳng hạn)

Xin nói rõ thêm : Các Control trong Sheet : GotFocus - LostForcus
Còn trong Form(VBA) thì là : Enter - Exit

Thân!
 
Upvote 0
XIn lỗi, tớ nhầm.
Trong câu hỏi không nói là form của VBA hay của cái gì và tớ trả lời theo form của Access. Xin lỗi lần nữa.
 
Upvote 0
Xin cho biết thêm

Tôi vẫn chưa hiểu lắm. Có thể nói rõ hơn và cho ví dụ %#^#$
 
Upvote 0
Giả sử trong form có 3 control a, b và c, bạn làm như sau:
Private Sub a_Enter()
a.BackColor = RGB(0, 0, 255)
b.BackColor = RGB(255, 255, 255)
c.BackColor = RGB(255, 255, 255)
End Sub

Private Sub b_Enter()
a.BackColor = RGB(255, 255, 255)
b.BackColor = RGB(0, 0, 255)
c.BackColor = RGB(255, 255, 255)
End Sub

Private Sub c_Enter()
a.BackColor = RGB(255, 255, 255)
b.BackColor = RGB(255, 255, 255)
c.BackColor = RGB(0, 0, 255)
End Sub

Xin cám ơn Bab và Soibien, mình đã thử như trên và chạy tốt cả enter, tab, và click chuột; y như on gotFocus và lost Focus của Access vậy.
 
Upvote 0
Cảm ơn pmtm412 rất nhiều. Mấy hôm nay tôi cứ loay hoay với mấy cái sự kiện này. Tôi cứ tưởng sự kiện Enter là khi ta nhấn nút Enter nên không thử. Tôi giải quyết vấn đề này bằng cặp lệnh enter và exit. Khi control nào xảy ra sự kiện Enter thì cho mầu nổi bật, khi exit thì về trạng thái cũ.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom