मैं इस समस्या को हल करने के लिए एक टाइमर का उपयोग करता हूं। ItemCheck इवेंट के माध्यम से टाइमर को सक्षम करें। टाइमर की टिक घटना में कार्रवाई करें।
यह काम करता है कि आइटम को माउस क्लिक के माध्यम से चेक किया गया है या स्पेस-बार दबाकर। हम इस तथ्य का लाभ उठाएंगे कि आइटम केवल चेक किया गया (या अन-चेक किया गया) हमेशा चयनित आइटम है।
टाइमर का अंतराल 1. जितना कम हो सकता है, टिक इवेंट के उठने तक, नया चेक किया गया स्टेटस सेट हो जाएगा।
यह VB.NET कोड अवधारणा दिखाता है। कई विविधताएं हैं जिन्हें आप नियोजित कर सकते हैं। आप उपयोगकर्ता को कार्रवाई करने से पहले कई मदों पर चेक की स्थिति बदलने की अनुमति देने के लिए टाइमर के अंतराल को बढ़ाना चाह सकते हैं। फिर टिक इवेंट में, सूची में सभी मदों का क्रमिक पास बनाएं या उचित कार्रवाई करने के लिए इसके CheckedItems संग्रह का उपयोग करें।
इसलिए हम सबसे पहले ItemCheck इवेंट में टाइमर को अक्षम करते हैं। अक्षम करें फिर अंतराल अवधि को फिर से शुरू करने के लिए सक्षम करें।
Private Sub ckl_ItemCheck(ByVal sender As Object, _
ByVal e As System.Windows.Forms.ItemCheckEventArgs) _
Handles ckl.ItemCheck
tmr.Enabled = False
tmr.Enabled = True
End Sub
Private Sub tmr_Tick(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles tmr.Tick
tmr.Enabled = False
Debug.Write(ckl.SelectedIndex)
Debug.Write(": ")
Debug.WriteLine(ckl.GetItemChecked(ckl.SelectedIndex).ToString)
End Sub
if not item = checkedListBox1.Items[e.Index].ToString()