/// <summary> /// 增加项 /// </summary> public void AddItem() { int index = _KeyWordCheckedListBox.SelectedIndex; //得到选中的索引 if (index < 0) { index = 0; } EditCheckedItem form = new EditCheckedItem(WordManager, EditFormType.AddItem, ""); if (form.ShowDialog() == DialogResult.OK) { if (String.IsNullOrEmpty(form.ResultString)) { return; } //操作Dictionary if (!CurrentWordLib.ContainsKey(form.ResultString)) { if (_KeyWordCheckedListBox.Items.Count <= 0) { _KeyWordCheckedListBox.Items.Add(form.ResultString); } else { _KeyWordCheckedListBox.Items.Insert(++index, form.ResultString); //插入到LIST } CurrentWordLib.Add(form.ResultString, POWER); //像库中增加项 } } }
/// <summary> /// 编辑选中的项 /// </summary> public void EditCheckItem() { if (_KeyWordCheckedListBox.CheckedIndices.Count != 1) { return; } int index = _KeyWordCheckedListBox.CheckedIndices[0]; //得到选中的索引 string szSource = _KeyWordCheckedListBox.CheckedItems[0].ToString(); //得到选中的str EditCheckedItem form = new EditCheckedItem(WordManager, EditFormType.EditItem, szSource); if (form.ShowDialog() == DialogResult.OK) { if (string.IsNullOrEmpty(form.ResultString)) { return; } _KeyWordCheckedListBox.Items[index] = form.ResultString; //操作Dictionary if (CurrentWordLib.ContainsKey(szSource)) { CurrentWordLib.Remove(szSource); CurrentWordLib.Add(form.ResultString, POWER); } } }
/// <summary> /// 合并选中的项 /// </summary> public void CombinCheckItem() { if (_KeyWordCheckedListBox.CheckedIndices.Count <= 1) { return; } string szSource = String.Empty; foreach (var obj in _KeyWordCheckedListBox.CheckedItems) { szSource += _KeyWordCheckedListBox.GetItemText(obj) + ","; } szSource = szSource.Remove(szSource.Length - 1); EditCheckedItem form = new EditCheckedItem(WordManager, EditFormType.CombinItem, szSource); if (form.ShowDialog() == DialogResult.OK) { if (string.IsNullOrEmpty(form.ResultString)) { return; } List <string> checkItem = GetCheckedItem(_KeyWordCheckedListBox); int index = _KeyWordCheckedListBox.CheckedIndices[0]; //得到第一个选中的索引 string szFirst = _KeyWordCheckedListBox.Items[index].ToString(); //老的词 _KeyWordCheckedListBox.Items[index] = form.ResultString; //合并的结果给第一个赋值 if (checkItem.Contains(szFirst)) //过滤掉老的词,其他的删除 { checkItem.Remove(szFirst); if (CurrentWordLib.ContainsKey(szFirst)) { CurrentWordLib.Remove(szFirst); //删除旧的词 CurrentWordLib.Add(form.ResultString, POWER); //将新词加上来 } } foreach (var item in checkItem) { _KeyWordCheckedListBox.Items.Remove(item); if (CurrentWordLib.ContainsKey(item.ToString())) { CurrentWordLib.Remove(item.ToString()); //将合并前的词删除 } } } }
/// <summary> /// 拆分选中的项 /// </summary> public void SplitCheckItem() { if (_KeyWordCheckedListBox.CheckedIndices.Count != 1) { return; } int index = _KeyWordCheckedListBox.CheckedIndices[0]; string szSource = _KeyWordCheckedListBox.CheckedItems[0].ToString(); EditCheckedItem form = new EditCheckedItem(WordManager, EditFormType.SplitItem, szSource); if (form.ShowDialog() == DialogResult.OK) { if (string.IsNullOrEmpty(form.ResultString)) { return; } form.ResultString = form.ResultString.Replace(",", ","); string[] szInsertItem = form.ResultString.Split(','); //将老词删除掉 if (CurrentWordLib.ContainsKey(szSource)) { CurrentWordLib.Remove(szSource); _KeyWordCheckedListBox.Items.Remove(szSource); } foreach (string str in szInsertItem) { if (CurrentWordLib.ContainsKey(str)) { continue; } _KeyWordCheckedListBox.Items.Insert(index++, str); //增加到Dictionary中 CurrentWordLib.Add(str, POWER); } } }
/// <summary> /// 修改权重 /// </summary> public void ModifyFrequency() { if (_KeyWordCheckedListBox.CheckedIndices.Count != 1) { return; } int index = _KeyWordCheckedListBox.CheckedIndices[0]; //得到选中的索引 string szSource = _KeyWordCheckedListBox.CheckedItems[0].ToString(); //得到选中的str string sztmp = szSource; if (CurrentWordLib.ContainsKey(sztmp)) { ulong uFrequency = 0; CurrentWordLib.TryGetValue(sztmp, out uFrequency); sztmp += "," + uFrequency.ToString(); } EditCheckedItem form = new EditCheckedItem(WordManager, EditFormType.EditFrequency, sztmp); if (form.ShowDialog() == DialogResult.OK) { if (string.IsNullOrEmpty(form.ResultString)) { return; } if (CurrentWordLib.ContainsKey(szSource)) { ulong uUpate = 0; ulong.TryParse(form.ResultString, out uUpate); if (uUpate > 0) { CurrentWordLib[szSource] = uUpate; } } } }