Set focus controls khi dùng phím Alt (1 người xem)

  • Thread starter Thread starter vba_gpe
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

vba_gpe

Thành viên thường trực
Tham gia
15/12/10
Bài viết
296
Được thích
44
Nghề nghiệp
Thất nghiệp
Chào thầy cô, anh chị và các bạn trong diễn đàn
Mình đang có một vướng là mình không biết làm cách nào để set phím tắt "Alt + phím" để tự động focus đến một control mà mình đặt sẵn trong UserForm khi dùng VBA.

Ví dụ như trong hình bên dưới:
Bấm Alt A: Thì tự động đi chuyến đến Radio Buttons có tên "Auto Scheduled"
Bấm Alt I: Thì tự động đi chuyến đến Checkbox có tên là "Inactive"
Các từ được gán thì đều có gạch chân ở dưới từ đó. (Ví dụ: Auto Schedule <=> Alt A; Iactive <=> Alt+I)
UVAppi_LkvXPxV2_3uehWbdB1XgyuGLiyOrISVNi8LP80bAOlXptBQdaYeUUALRmABo-PMbs-g16LSe-kCtPPG3RIzLzLchNepMjAru-8GHabCQEoV_ntuP25Q2TQpGGzFaPzptntVX4dD-CN7kYHDTTZMgo4l5blomxCvqPqBHBwj8vIH2S6vFQxjLwKPvBcgpPD-XW_mvhU5gS6wwUVdEAPRf0jICX3Z3msL2qJaKDzXGoMVRa-vz7EMRC9xVar0hRh0aS5TCDF7BDsa2J17C4QgKn7xfcQlMMRAKH7smGHzRZ2XDczZy_gIgpXVxpbWyjFqb6uLBT2m8awUbgc7M210tQxdER8i_RczPbBq6n0WPrYlzyzmKqtyQBxM9-62HH7Pc-RvkGd2S6kcNYHVKGzyfMnlCNp84FEZw0O5xI3evIilouZVcKshKG-ezPFHVEV-uM_zpixRbokptAzXk1iUi6Qjp0gwov6rTzCDvWJJ66dfA5Q2GSFkY1I1h75OVE_BK1uHkqvs_2FdfgG4MgCmVHknr-L8BMcUpZFEGGChLt80ALvdXtSbJYCS5WoShjysZJMrHOSQYZfJQrTmRHssVDo2ccwBhrhnx29A=w633-h393-no


Mong nhận được sự giúp đỡ từ mọi người.
Trân trọng cảm ơn
 
Chào thầy cô, anh chị và các bạn trong diễn đàn
Mình đang có một vướng là mình không biết làm cách nào để set phím tắt "Alt + phím" để tự động focus đến một control mà mình đặt sẵn trong UserForm khi dùng VBA.

Ví dụ như trong hình bên dưới:
Bấm Alt A: Thì tự động đi chuyến đến Radio Buttons có tên "Auto Scheduled"
Bấm Alt I: Thì tự động đi chuyến đến Checkbox có tên là "Inactive"
Các từ được gán thì đều có gạch chân ở dưới từ đó. (Ví dụ: Auto Schedule <=> Alt A; Iactive <=> Alt+I)
UVAppi_LkvXPxV2_3uehWbdB1XgyuGLiyOrISVNi8LP80bAOlXptBQdaYeUUALRmABo-PMbs-g16LSe-kCtPPG3RIzLzLchNepMjAru-8GHabCQEoV_ntuP25Q2TQpGGzFaPzptntVX4dD-CN7kYHDTTZMgo4l5blomxCvqPqBHBwj8vIH2S6vFQxjLwKPvBcgpPD-XW_mvhU5gS6wwUVdEAPRf0jICX3Z3msL2qJaKDzXGoMVRa-vz7EMRC9xVar0hRh0aS5TCDF7BDsa2J17C4QgKn7xfcQlMMRAKH7smGHzRZ2XDczZy_gIgpXVxpbWyjFqb6uLBT2m8awUbgc7M210tQxdER8i_RczPbBq6n0WPrYlzyzmKqtyQBxM9-62HH7Pc-RvkGd2S6kcNYHVKGzyfMnlCNp84FEZw0O5xI3evIilouZVcKshKG-ezPFHVEV-uM_zpixRbokptAzXk1iUi6Qjp0gwov6rTzCDvWJJ66dfA5Q2GSFkY1I1h75OVE_BK1uHkqvs_2FdfgG4MgCmVHknr-L8BMcUpZFEGGChLt80ALvdXtSbJYCS5WoShjysZJMrHOSQYZfJQrTmRHssVDo2ccwBhrhnx29A=w633-h393-no


Mong nhận được sự giúp đỡ từ mọi người.
Trân trọng cảm ơn
Iactive = &Iactive
Ký tự sau dấu & là ký tự quy định là phím nóng.
 
Upvote 0
Mình hỏi thêm . Nếu muốn đặt cho textbox thì làm thế nào nhỉ? Vì Textbox không thấy mục Accelerator. :)
Bạn thân mến, Textbox có tác dụng để người dùng nhập nhập nhập dữ liệu vào, nó không có Caption luôn
bạn vẽ thêm một Label kế bên trái Textbox đó, rồi thiếp lập Accelerator cho Label đó, thêm một sub cho Label:
Mã:
Private Sub Label1_Click()
    TextBox1.SetFocus
End Sub
giờ bạn ấn ấn cái chữ gạch chân của Label là nhảy tới Textbox
 
Upvote 0
Bạn thân mến, Textbox có tác dụng để người dùng nhập nhập nhập dữ liệu vào, nó không có Caption luôn
bạn vẽ thêm một Label kế bên trái Textbox đó, rồi thiếp lập Accelerator cho Label đó, thêm một sub cho Label:
Mã:
Private Sub Label1_Click()
    TextBox1.SetFocus
End Sub
giờ bạn ấn ấn cái chữ gạch chân của Label là nhảy tới Textbox
}}}}}}}}}}}}}}}}}}}}
Thật tình, cảm ơn bạn rất nhiều. :)
 
Upvote 0
Bạn thân mến, Textbox có tác dụng để người dùng nhập nhập nhập dữ liệu vào, nó không có Caption luôn
bạn vẽ thêm một Label kế bên trái Textbox đó, rồi thiếp lập Accelerator cho Label đó, thêm một sub cho Label:
Mã:
Private Sub Label1_Click()
    TextBox1.SetFocus
End Sub
giờ bạn ấn ấn cái chữ gạch chân của Label là nhảy tới Textbox
Làm theo mà không được em ơi
 
Upvote 0
Làm theo mà không được em ơi
Có 2 vấn đề em cần chú ý:
1/ Tên TextBox cần SetFocus tên nó là gì thì Copy tên nó bỏ vào code (có thể em gán sai tên TextBox).
2/ Click vào cái Label rồi View Code lúc này mới gán tên TextBox cần nhảy đến bỏ vào giữ 2 dòng code.

Theo anh thì chỉ nên dùng SetFocus cho cái TextBox đầu tiên, để khi nhấn nút nhập liệu thì nó trở lên cái TextBox đầu tiên để nhập tiếp, chứ không ai nhấn vào cái Label chi cho thừa thao tác.
Còn muốn nó nhảy xuống TextBox tiếp theo thì dùng Tab Order (để sắp xếp các Control) hoặc dùng TabIndex (để đánh số trình tự các Control).
 
Lần chỉnh sửa cuối:
Upvote 0
Có 2 vấn đề em cần chú ý:
1/ Tên TextBox cần SetFocus tên nó là gì thì Copy tên nó bỏ vào code (có thể em gán sai tên TextBox).
2/ Click vào cái Label rồi View Code lúc này mới gán tên TextBox cần nhảy đến bỏ vào giữ 2 dòng code.

Theo anh thì chỉ nên dùng SetFocus cho cái TextBox đầu tiên, để khi nhấn nút nhập liệu thì nó trở lên cái TextBox đầu tiên để nhập tiếp, chứ không ai nhấn vào cái Label chi cho thừa thao tác.
Còn muốn nó nhảy xuống TextBox tiếp theo thì dùng Tab Order (để sắp xếp các Control) hoặc dùng TabIndex (để đánh số trình tự các Control).
Em dùng me.txt nên tên của textbox là không sai được.
Còn nhấn vào label thì thôi nhấn vào textbox cho rồi. Vấn đề là em muốn tạo phím tắt để di chuyển đến textbox mình cần nhập (Tab order em đã làm rồi)
 
Upvote 0
Còn nhấn vào label thì thôi nhấn vào textbox cho rồi
Chỗ này không hề thừa thao tác nhé. Người ta đã chỉ cho một mẹo rất hay rồi đó...
Bây giờ tổ chức thi đi:
Cái form có 10 textboxes để nhập. Giả sử nhập xong 9 cái rồi, cần sửa lại nội dung cái thứ hai chẳng hạn. Bây giờ bạn với tay vào chuột rồi dò dò, còn người ta nhấn phím tắt một cái là nhảy liền tới textbox thứ 2 rồi.
Tiếp đó, quay lại nhập tiếp trong textbox thứ 10 thì lại với chuột dò tiếp, còn người ta nhấn phím tắt một cái nhảy liền tới chỗ cần nhập tiếp.
 
Upvote 0
Chỗ này không hề thừa thao tác nhé. Người ta đã chỉ cho một mẹo rất hay rồi đó...
Bây giờ tổ chức thi đi:
Cái form có 10 textboxes để nhập. Giả sử nhập xong 9 cái rồi, cần sửa lại nội dung cái thứ hai chẳng hạn. Bây giờ bạn với tay vào chuột rồi dò dò, còn người ta nhấn phím tắt một cái là nhảy liền tới textbox thứ 2 rồi.
Tiếp đó, quay lại nhập tiếp trong textbox thứ 10 thì lại với chuột dò tiếp, còn người ta nhấn phím tắt một cái nhảy liền tới chỗ cần nhập tiếp.
Mục đích của em là như vậy anh àh. Gán phím tắt trên label để đến text mình cần chỉnh sửa. Nhưng làm như bài #8 nhấn nhấn Alt+phím tắt nó không nhảy đến text mình cần anh àh
 
Upvote 0
Về vấn đề tạo phím tắt để focus textbox ở trên thì đã kiểm chứng chưa? Nhưng xem cái hình này thì sẽ không làm được nếu không tinh ý. Khi nhấn phím tắt thì sự kiện click của Label không hề xảy ra. Mà control đứng sau nó theo tứ tự tab older sẽ nhận focus. Tóm lại chỉ cần chỉnh tab older của textbox sao cho nó đứng sau label là được.
 

File đính kèm

  • Untitled.png
    Untitled.png
    34.2 KB · Đọc: 13
Upvote 0
Web KT

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

Back
Top Bottom