Exemple #1
0
        /// <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);                        //像库中增加项
                }
            }
        }
Exemple #2
0
        /// <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);
                }
            }
        }
Exemple #3
0
        /// <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()); //将合并前的词删除
                    }
                }
            }
        }
Exemple #4
0
        /// <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);
                }
            }
        }
Exemple #5
0
        /// <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;
                    }
                }
            }
        }