मैं इस समस्या को हल करने के लिए टाइमर का उपयोग करता हूं। ItemCheck ईवेंट के माध्यम से टाइमर सक्षम करें। टाइमर की टिक घटना में कार्रवाई करें।
यह काम करता है कि आइटम माउस क्लिक के माध्यम से या स्पेस-बार दबाकर चेक किया गया है या नहीं। हम इस तथ्य का लाभ उठाएंगे कि जिस आइटम ने अभी चेक किया है (या अन-चेक किया गया है) हमेशा चयनित आइटम है।
टाइमर का अंतराल 1 जितना कम हो सकता है। जब तक टिक ईवेंट उठाया जाता है, तब तक नई जांच की गई स्थिति सेट की जाएगी।
यह वीबीएनईटी कोड अवधारणा को दिखाता है। आप कई नियोक्ता नियोजित कर सकते हैं। आप टाइमर के अंतराल को बढ़ाने के लिए उपयोगकर्ता को कार्रवाई करने से पहले कई वस्तुओं पर चेक स्थिति बदलने की अनुमति दे सकते हैं। फिर टिक घटना में, सभी
सूची में आइटम का अनुक्रमिक पास करें या उचित कार्रवाई करने के लिए इसके चेक किए गए आइटम्स संग्रह का उपयोग करें।
यही कारण है कि हम पहले आइटमशेक ईवेंट में टाइमर को अक्षम करते हैं। अक्षम करें सक्षम करें अंतराल अवधि को फिर से शुरू करने का कारण बनता है।
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
स्रोत
2015-04-10 02:16:50
संभव डुप्लिकेट [के बाद एक आइटम को चेक किया गया कौन सा CheckedListBox ईवेंट ट्रिगर करता है?] (Http://stackoverflow.com/questions/3666682/which-checkedlistbox-event-triggers-after-a-item-is- चेक किया गया) – taocp