private void ResetDictionariesGrid(OptionsSettingsSmartContext settings = null) { if (null == settings) { settings = _settings; } var availableDictionaries = SpellChecker.GetAllAvailableDictionaryNames(); var ignoreDictionaries = new HashSet <string>(settings.EnumEntryIndices <SpellCheckSettings, string, byte>(x => x.IgnoreDictionaries)); var spellCheckDictionaries = new HashSet <string>(settings.EnumEntryIndices <SpellCheckSettings, string, byte>(x => x.SpellCheckDictionaries)); dataGridViewDictList.Rows.Clear(); foreach (var dictionary in availableDictionaries.OrderBy(x => x, StringComparer.OrdinalIgnoreCase)) { var isSpellCheck = spellCheckDictionaries.Contains(dictionary); var isIgnore = ignoreDictionaries.Contains(dictionary); dataGridViewDictList.Rows.Add(dictionary, isSpellCheck, isIgnore); } dataGridViewDictList.Update(); dataGridViewDictList.Invalidate(); }