2012-07-02 30 views
6

में रेडियो बटन के बीच टब्बिंग मेरे पास एक ऐसा फॉर्म है जिसमें एक फ्रेम के भीतर छह रेडियो बटन होते हैं जो परस्पर अनन्य और एक कमांड बटन होते हैं।वीबी 6

मैंने पहले से ही प्रत्येक रेडियो बटन पर अलग-अलग टैब-इंडेक्स दिया है लेकिन रेडियो बटन से बाहर टैब फोकस दबाकर रन टाइम पर रन टाइम पर।

तो टैब दबाकर किसी अन्य रेडियो बटन पर फ़ोकस कैसे करें?

+4

अभिप्रेत व्यवहार है। उसी रेडियो बॉक्स में बटन के बीच फ़ोकस को स्थानांतरित करने के लिए, तीर कुंजियों का उपयोग करें। –

+0

मैं क्या करता हूं (यदि संभव हो) रेडियो बटन के कैप्शन को एक ही कीबोर्ड शॉर्टकट देता है। यह विकल्प के बीच चक्र के लिए फोकस का कारण बन जाएगा। मुझे नहीं पता कि यह किसी भी यूआई सम्मेलनों का उल्लंघन करता है हालांकि .. – Dabblernl

+1

@BrianHooper आप सही हैं। यह जोर देने योग्य है कि तीर कुंजियों का उपयोग करके रेडियो बटन के मान भी बदल जाते हैं। यह इच्छित व्यवहार है और विंडोज उपयोगकर्ता अनुभव दिशानिर्देशों का अनुपालन करता है, इसलिए इसे उपयोगकर्ता की अपेक्षाओं से मेल खाना चाहिए – MarkJ

उत्तर

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

KeyAscii = 9 टैब कुंजी के लिए कोड है। लेकिन आपको अपने सभी रेडियो बटनों के लिए यह करना होगा।

आप अपने रेडियो सूचकांक 0, 1, 2 होने ही रेडियो बटन से संबंधित बटन जोड़ने, तो आप इसे इस तरह से कर सकते हैं:

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

जैसा कि अन्य ने ऊपर कहा है, यह इरादा व्यवहार है। यदि आप वास्तव में इसे हासिल करना चाहते हैं तो ऐसा करने का एकमात्र तरीका यह है कि प्रत्येक रेडियो बटन को एक अलग चित्र बॉक्स (BorderStyle = none, TabStop = False) पर रखा जाता है। यह तब काम करेगा लेकिन आप रेडियो बटन के बीच स्थानांतरित करने के लिए तीर कुंजियों का उपयोग करने में सक्षम नहीं होंगे, केवल टैबबिंग।