Feedback

C# - Zusammenhängende CheckedListbox Items finden

Veröffentlicht von am 3/22/2011
(0 Bewertungen)
Mit dieser Funktion lassen sich ausgewählte zusammenhängende CheckedListBoxItems finden.
Als Return Wert bekommt man eine Liste von zusammenhängenden Indexen.
private List<int> getRelatedCheckboxItems(CheckedListBox chkBox)
        {
            List<int> lstRelated = new List<int>();
            int checkedIndexA = 0;
            int checkedIndexB = 0;

            foreach (var itemA in chkBox.CheckedItems)
            {
                checkedIndexA = chkBox.Items.IndexOf(itemA);

                foreach (var itemB in chkBox.CheckedItems)
                {
                    if (itemA == itemB)
                        continue;

                    checkedIndexB = chkBox.Items.IndexOf(itemB);

                    if (checkedIndexA + 1 == checkedIndexB)
                    {
                        if (!lstRelated.Contains(checkedIndexA))
                            lstRelated.Add(checkedIndexA);
                        
                        if (!lstRelated.Contains(checkedIndexB))
                            lstRelated.Add(checkedIndexB);
                        
                        break;
                    }
                }
            }

            return lstRelated;
        }

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!