private void cboLanguages__SelectedIndexChanged(object sender, EventArgs e) { Debug.Assert(cboDomains_.SelectedIndex >= 0); txtTitle_.Text = string.Empty; if (cboLanguages_.SelectedIndex >= 0) { Dictionary<string, PrefixMatchContainer<string>> langEntries; if (entriesMap_.TryGetValue(cboDomains_.Text, out langEntries)) { if (langEntries.TryGetValue(cboLanguages_.Text, out titles_)) { if (titles_ != null) { txtTitle_.AutoCompleteMode = AutoCompleteMode.SuggestAppend; txtTitle_.AutoCompleteSource = AutoCompleteSource.CustomSource; txtTitle_.AutoCompleteCustomSource = titles_.AutoCompleteStringCollection; lstTitles_.VirtualListSize = titles_.Count; lstTitles_.Invalidate(); return; } } } } titles_ = null; lstTitles_.VirtualListSize = 0; lstTitles_.Items.Clear(); lstTitles_.Invalidate(); }
private void cboDomains__SelectedIndexChanged(object sender, EventArgs e) { int langIndex = -1; if (cboDomains_.SelectedIndex >= 0) { Dictionary<string, PrefixMatchContainer<string>> langEntries; if (entriesMap_.TryGetValue(cboDomains_.Text, out langEntries)) { cboLanguages_.Items.Clear(); foreach (KeyValuePair<string, PrefixMatchContainer<string>> langTitlesPair in langEntries) { cboLanguages_.Items.Add(langTitlesPair.Key); } //TODO: Automatically select the default or current language. langIndex = (cboLanguages_.Items.Count > 0) ? 0 : -1; } } cboLanguages_.SelectedIndex = langIndex; if (cboDomains_.SelectedIndex < 0 || cboLanguages_.SelectedIndex < 0) { titles_ = null; lstTitles_.VirtualListSize = 0; lstTitles_.Items.Clear(); cboLanguages_.Enabled = false; lstTitles_.Enabled = false; txtTitle_.Enabled = false; } else { cboLanguages_.Enabled = true; lstTitles_.Enabled = true; txtTitle_.Enabled = true; } lstTitles_.Invalidate(); }