Beispiel #1
0
 private void EnsureExtensionFiltersExist(CheckComboBoxControl.CheckedComboBox cb)
 {
     if (cb.CheckedItems.Count < 1)
     {
         cb.SetItemChecked(0, true);
     }
 }
Beispiel #2
0
        private void BuildCheckedComboBoxItems(CheckComboBoxControl.CheckedComboBox cb)
        {
            var selected = cb.CheckedItems.OfType <CheckComboBoxControl.CheckedComboBoxItem>().ToArray();

            cb.Items.Clear();
            var extensions = new HashSet <string> {
                "*.*"
            };

            try
            {
                var dirNfo = new DirectoryInfo(txtDir.Text);
                if (dirNfo.Exists)
                {
                    foreach (var filepath in Directory.EnumerateFiles(txtDir.Text, "*", SearchOption.AllDirectories))
                    {
                        var ext = Path.GetExtension(filepath).ToLower();
                        if (string.IsNullOrEmpty(ext))
                        {
                            continue;
                        }
                        extensions.Add("*" + ext);
                    }
                }
            }
            catch { }
            cb.Items.AddRange(extensions.OrderBy(x => x).Select((x, i) => new CheckComboBoxControl.CheckedComboBoxItem(x, i)).ToArray());
            foreach (var item in cb.Items.OfType <CheckComboBoxControl.CheckedComboBoxItem>().Where(x => selected.Select(y => y.Name).Contains(x.Name)).ToArray())
            {
                cb.SetItemChecked(item, true);
            }
            EnsureExtensionFiltersExist(cb);
        }