/// <summary> /// 删除参考点 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void DeleBt_Click(object sender, EventArgs e) { string StrID1, StrID2; StrID1 = RID_1TB.Text; StrID2 = RID_2TB.Text; int index = NodeTypeCB.SelectedIndex; if ("".Equals(StrID1) || "".Equals(StrID2)) { MessageBox.Show("ID不能为空!"); return; } if (StrID1.Length != 2 || StrID2.Length != 2) { MessageBox.Show("ID格式有誤!"); return; } byte[] ID = new byte[2]; try { ID[0] = Convert.ToByte(StrID1, 16); ID[1] = Convert.ToByte(StrID2, 16); } catch (Exception) { MessageBox.Show("ID格式有误!"); return; } if (null == area) { MessageBox.Show("區域不能為空!"); return; } if (null == area.AreaRouter) { MessageBox.Show("參考點不存在!"); return; } //判断 if (null != StrRouterID && !"".Equals(StrRouterID)) { if (type == 0) {//删除参考点 if (!area.AreaRouter.ContainsKey(StrID1 + StrID2)) { MessageBox.Show("參考點不存在"); return; } else { //检查Tag中是否有这个可进的参考点 Tag tag = CommonBoxOperation.GetExistRefer(StrID1 + StrID2); if (null != tag) { if (MessageBox.Show("卡片中存在" + StrID1 + StrID2 + "參考點可進,確定要清除這些卡片中的可進參考點嗎?", "警告", MessageBoxButtons.OKCancel) == System.Windows.Forms.DialogResult.OK) {//清除警告讯息 #region 当Tag的可进区域中存在删除的参考点时 if (null == ID || ID.Length != 2) { MessageBox.Show("對不起,參考點ID有誤!"); return; } //清除Tag中所有含有指定参考点 ClearAllTag_EnRefer(ID); //删除当前的参考点 area.AreaRouter.Remove(StrID1 + StrID2); //重新去更新Tag中的Area树状图 Ps.AddCheckControl(Ps.ReferTreeView); MessageBox.Show("刪除參考點完成!"); this.Close(); #endregion } //string taginfor = (null == tag.Name || "".Equals(tag.Name)) ? (tag.ID[0].ToString("X2") + tag.ID[1].ToString("X2")) : tag.Name + "(" + (tag.ID[0].ToString("X2") + tag.ID[1].ToString("X2")) + ")"; //MessageBox.Show(taginfor + "卡片中" + StrID1 + StrID2+"參考點可進,請先取消..."); return; } area.AreaRouter.Remove(StrID1 + StrID2); } } else { if (!area.AreaNode.ContainsKey(StrID1 + StrID2)) { MessageBox.Show("數據節點不存在"); return; } else { area.AreaNode.Remove(StrID1 + StrID2); } } } //删除参考点后重新刷新面板 SysParam.RestoreShow(); this.Close(); }