Exemplo n.º 1
0
 /// <summary>
 /// 选择标签,用于“编辑”过滤F区域文章
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void Label_LabelSelectEvent(object sender, LabelWithCheckEventArgs e)
 {
     //AddLabelToLocation(flowLayoutPanel2,6,e.LabelText,e.Id,false,false); //Stack Overflow 重复绑定重复执行 形成无限循环导致
 }
Exemplo n.º 2
0
        /// <summary>
        /// 选择标签,用于“选中标签”并同步到数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Label_LabelCheckedEvent(object sender, LabelWithCheckEventArgs e)
        {
            if (CallBack)
            {
                return;
            }

            CheckBox lc = (CheckBox)sender;
            CheckState cs = lc.CheckState;
            curNode = tv_Folder.SelectedNode;
            if (curNode == null)
            {
                MessageBoxEx.Show(Constant.KM_WN_NODE_NOT_SELECTED, Constant.KM_TYPE_WARN, MessageBoxButtons.OK);
                return;
            }

            if (cs.ToString() == "Checked")
            {

                //removeRelation = null;
                //labels = e.LabelText;
                labelsId = e.Id;//tagId
                guidFlag = Guid.NewGuid();
                bool exist = CheckExistTag(curNode.Name.ToGuid(), e.Id);
                if (exist)
                {
                    MessageBoxEx.Show(Constant.KM_WN_ADD_EXIST_LABEL_NOT_ALLOWED, Constant.KM_TYPE_WARN, MessageBoxButtons.OK);
                    CallBack = true;
                    lc.CheckState = CheckState.Unchecked;
                    CallBack = false;
                    return;
                }

                if (labelDic.ContainsValue(labelsId))
                {
                    MessageBoxEx.Show(Constant.KM_WN_ADD_EXIST_LABEL_NOT_ALLOWED, Constant.KM_TYPE_WARN, MessageBoxButtons.OK);
                    return;
                }
                labelDic.Add(labelsId, guidFlag);
                //将关联存入数据库
                if (curNode == null)
                {
                    MessageBoxEx.Show(Constant.KM_WN_NODE_NOT_SELECTED, Constant.KM_TYPE_WARN, MessageBoxButtons.OK);
                    return;
                }
                if (curNode.Tag.ToString() == Enums.LEAVES.ToString())
                {
                    //int i = SQLHelper.AddRelations(curNode.Name.ToInt(), e.Id);
                    removeRelation=AddRelation(curNode.Name.ToGuid(), e.Id, guidFlag,removeRelation);
                }
            }
            else if (cs.ToString() == "Unchecked")
            {
                //guidFlag = Guid.Empty;
                //将关联移出数据库
                curNode = tv_Folder.SelectedNode;
                if (curNode == null)
                {
                    MessageBoxEx.Show(Constant.KM_WN_NOTE_NOT_SELECTED, Constant.KM_TYPE_WARN, MessageBoxButtons.OK);
                    return;
                }
                if (curNode.Tag.ToString() == Enums.LEAVES.ToString())
                {
                    bool Nothing;
                    Relation i = RelationsDAO.CreateRelationsDAO().IsExistTag(curNode.Name.ToGuid(),e.Id,out  Nothing);
                    if (removeRelation != null)
                    {
                        removeRelation = i;
                        RemoveRelation(removeRelation, labelDic[e.Id]);
                        labelDic.Remove(e.Id);
                    }
                }
            }
            //txt_SelectedLabel.ControlText = ShowLabel(labelDic);
            //变更为 向Panel中添加Rectanglelabel  重点
        }