/// <summary>Searches for controls by their name property, builds an array list.</summary> /// <param name="key">The key name to search for.</param> /// <param name="searchAllSubItems">Search all subitems.</param> /// <param name="listViewItems">The listViewItems collections.</param> /// <param name="foundItems">The found items array.</param> /// <returns>The <see cref="ArrayList" />.</returns> private static ArrayList FindInternal(string key, bool searchAllSubItems, VisualListViewItemCollection listViewItems, ArrayList foundItems) { if ((listViewItems == null) || (foundItems == null)) { return(null); } for (var i = 0; i < listViewItems.Count; i++) { if (TextManager.SafeCompareStrings(listViewItems[i].Name, key, true)) { foundItems.Add(listViewItems[i]); } else { if (searchAllSubItems) { // Start from 1, as we've already compare subitems[0]. for (var j = 1; j < listViewItems[i].SubItems.Count; j++) { if (TextManager.SafeCompareStrings(listViewItems[i].SubItems[j].Name, key, true)) { foundItems.Add(listViewItems[i]); break; } } } } } return(foundItems); }
/// <summary>Adds a collection of items to the collection.</summary> /// <param name="items">The <see cref="VisualListViewItemCollection" /> to add to the collection.</param> public void AddRange(VisualListViewItemCollection items) { if (items == null) { throw new ArgumentNullException("items"); } VisualListViewItem[] _items = { }; for (var i = 0; i < items.Count; i++) { _items[i] = items[i]; } AddRange(_items); }