/// <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); }
/// <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); }
/// <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); }
/// <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()); } }