2008-08-18 17 views
5

पर एकाधिक विकल्प विंडोज फॉर्म में एकाधिक विकल्प विकल्प को लागू करने का सबसे अच्छा तरीका क्या है? मैं डिफ़ॉल्ट मान से शुरू होने वाली सूची से एकल चयन को लागू करना चाहता हूं।WinForms

ऐसा लगता है कि कॉम्बोबॉक्स एक अच्छा विकल्प होगा, लेकिन क्या एक गैर-खाली डिफ़ॉल्ट मान निर्दिष्ट करने का कोई तरीका है?
मैं इसे कुछ उचित प्रारंभिक बिंदु पर कोड में बस सेट कर सकता था, लेकिन मुझे लगता है कि मुझे कुछ याद आ रही है।

उत्तर

8

यदि आप केवल समूह से एक जवाब चाहते हैं, तो रेडियोबटन नियंत्रण आपका सबसे अच्छा फिट होगा या यदि आपके पास बहुत सारे विकल्प होंगे तो आप कॉम्बोबॉक्स का उपयोग कर सकते हैं। डिफ़ॉल्ट मान सेट करने के लिए, बस आइटम को कॉम्बोबॉक्स के संग्रह में जोड़ें और उस आइटम पर चयनित इंडेक्स या चयनित इटैम सेट करें।

आप कितने विकल्पों को देख रहे हैं, इस पर निर्भर करते हुए, आप SelectionMode प्रॉपर्टी सेट के साथ ListBox का उपयोग मल्टीसिंपल पर सेट कर सकते हैं, यदि यह एकाधिक विकल्प होगा या आप चेकबॉक्स नियंत्रण का उपयोग कर सकते हैं।

2

उपयोग ComboBox.SelectedItem या SelectedIndex संपत्ति आइटम के बाद डिफ़ॉल्ट आइटम का चयन करने डाला गया है।

आप एक विकल्प के चयन को लागू करने के लिए RadioButton नियंत्रण का उपयोग करने पर भी विचार कर सकते हैं।

2

आप कॉम्बोबॉक्स का उपयोग DropDownStyle संपत्ति ड्रॉपडाउनलिस्ट और चयनित इंडेक्स से 0 पर सेट कर सकते हैं (या जो भी डिफ़ॉल्ट आइटम है)। यह चयनित सूची से हमेशा एक आइटम को मजबूर करेगा। यदि आप ऐसा करना भूल जाते हैं, तो उपयोगकर्ता केवल संपादन बॉक्स भाग में कुछ और टाइप कर सकता है - जो खराब होगा :)

1

यदि आप उपयोगकर्ता को विकल्पों की एक छोटी सूची दे रहे हैं तो रेडियो बटन के साथ चिपके रहें। हालांकि, यदि आप गतिशील या लंबी सूचियों के लिए कॉम्बो बॉक्स का उपयोग करना चाहते हैं। शैली को DropDownList पर सेट करें।

private sub populateList(items as List(of UserChoices)) 
    dim choices as UserChoices 
    dim defaultChoice as UserChoices 

    for each choice in items 
     cboList.items.add(choice) 
     '-- you could do user specific check or base it on some other 
     '---- setting to find the default choice here 
     if choice.state = _user.State or choice.state = _settings.defaultState then 
      defaultChoice = choice 
     end if 
    next 
    '-- you chould select the first one 
    if cboList.items.count > 0 then 
     cboList.SelectedItem = cboList.item(0) 
    end if 

    '-- continuation of hte default choice 
    cboList.SelectedItem = defaultChoice 

end sub