2012-07-02 37 views
6

Tôi có một biểu mẫu bao gồm sáu nút radio trong một khung có loại trừ lẫn nhau và một nút lệnh.Tabbing giữa các nút radio trong VB6

Tôi đã cung cấp chỉ mục tab khác nhau cho mỗi nút radio nhưng tại thời gian chạy bằng cách nhấn tiêu điểm tab bị bỏ qua các nút radio.

để biết cách tập trung vào nút radio khác bằng cách nhấn TAB?

+4

Đó là hành vi dự định. Để di chuyển tiêu điểm giữa các nút trong cùng một hộp radio, hãy sử dụng các phím mũi tên. –

+0

Những gì tôi làm (nếu có thể) là cung cấp cho các nút của chú thích trên cùng một phím tắt. Điều này sẽ làm cho tiêu điểm xoay vòng giữa các tùy chọn. Tôi không biết nếu điều này vi phạm bất kỳ quy ước giao diện người dùng mặc dù .. – Dabblernl

+1

@BrianHooper Bạn là chính xác. Cần nhấn mạnh rằng việc sử dụng các phím mũi tên cũng thay đổi giá trị của nút radio. Đây là hành vi dự định và tuân thủ nguyên tắc Trải nghiệm người dùng Windows, vì vậy nó phải phù hợp với kỳ vọng của người dùng – MarkJ

Trả lời

2
Private Sub Option1_KeyPress(KeyAscii As Integer) 
    If KeyAscii = 9 Then 
     Option2.SetFocus 
    End If 
End Sub 

KeyAscii = 9 là mã cho phím Tab. Nhưng bạn phải làm điều đó cho tất cả các nút radio của bạn.

Nếu bạn thêm nút radio của bạn thuộc nút radio tương tự có chỉ số 0, 1, 2 bạn có thể làm điều đó như thế này:

Private Sub Option1_KeyPress(Index As Integer, KeyAscii As Integer) 
If KeyAscii = 9 Then 
    If Index < Option1.Count - 1 Then 
     Option1(Index + 1).SetFocus 
    Else 
     Option1(0).SetFocus 
    End If 
End If 
End Sub 
3

Như những người khác đã nói ở trên đây là hành vi dự định. Nếu bạn thực sự muốn đạt được điều này thì cách duy nhất tôi có thể nghĩ để làm điều này là đặt mỗi nút radio trên một hộp hình riêng biệt (BorderStyle = None, TabStop = False). Điều này sau đó sẽ làm việc nhưng bạn sẽ không thể sử dụng các phím mũi tên để di chuyển giữa các nút radio, chỉ tabbing.