Example #1
0
        /// <summary>
        /// 从文件中加载一个代码块
        /// </summary>
        /// <param name="name"></param>
        /// <param name="position"></param>
        /// <param name="id"></param>
        /// <param name="CodeboxType"></param>
        /// <returns></returns>
        public CodeBox LoadXCodeBox(string name, Point position, int id, CodeBox.XAType CodeboxType = CodeBox.XAType.XFunction)
        {
            CodeBox box = new CodeBox(id, this, name, ChileEventCallBack, CodeboxType);

            box.SetPosition(position);
            //xa.AddAttribute(XRadioButton.XAttributeType.XEnter, XRadioButton.XPositonStyle.Left);
            ListCodeBoxChild.Add(id, box);
            this.Children.Add(box);
            return(box);
        }
Example #2
0
        /// <summary>
        /// 创建一个可以利用的id只使用CodeBox
        /// </summary>
        private int CreadCodeBoxID()
        {
            int id = CurrentID > 2000000 ? -1 : CurrentID++ % TheAllControlNum;

            ///循环生成不重复的主键
            while (ListCodeBoxChild.ContainsKey(id))
            {
                id = CurrentID > 2000000 ? -1 : CurrentID++ % TheAllControlNum;
            }
            return(id);
        }
Example #3
0
        /// <summary>
        /// 创建一个代码块
        /// </summary>
        /// <param name="name"></param>
        /// <param name="id"></param>
        public CodeBox CreateXCodeBox(string name, Point position, CodeBox.XAType CodeboxType = CodeBox.XAType.XFunction)
        {
            int     id = CreadCodeBoxID();
            CodeBox xa = new CodeBox(id, this, name, ChileEventCallBack, CodeboxType);

            xa.SetPosition(position);
            //xa.AddAttribute(XRadioButton.XAttributeType.XEnter, XRadioButton.XPositonStyle.Left);
            ListCodeBoxChild.Add(id, xa);
            this.Children.Add(xa);
            return(xa);
        }
Example #4
0
 /// <summary>
 /// 根据id删除一个内置的语句块
 /// </summary>
 /// <param name="id"></param>
 private void DelControl(int id)
 {
     try
     {
         CodeBox xb = ListCodeBoxChild[id] as CodeBox;
         ///不能删除主函数入口
         if (xb.CodeBoxType != CodeBox.XAType.XMain && xb.CodeBoxType != CodeBox.XAType.XFunctionEnter)
         {
             ///删除代码块
             xb.DelCodeBox();
             ListCodeBoxChild.Remove(id);
             Children.Remove(xb);
         }
     }
     catch (Exception ex)
     {
         LoggerHelp.WriteLogger(ex.ToString());
     }
 }