Feedback

C# - Zusammenhängende CheckedListbox Items finden

Veröffentlicht von am 22.03.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!