//处理节点掉线的任务
        private void ProcessNodeDrop(ref Boolean autoReconfigFlag)
        {
            //有匹配的结果才进行处理
            if (_appMatchedTopoList.Count > 0 && _choosedMatchedListNum >= 0)
            {
                bool needReconfigFlag = false;  //是否需要进行重构的标志

                var chooseList = _appMatchedTopoList[_choosedMatchedListNum];
                foreach (var node in chooseList)
                {
                    if (!_onLineFlags[node.SNode.FrameId][node.SNode.SlotId])
                    {
                        needReconfigFlag = true;
                        break;
                    }
                }
                if (needReconfigFlag)
                {
                    if (autoReconfigFlag)//判断是否为自动重构
                    {
                        MainForm.SetOutPutText("进行自动匹配。。。");
                        ReconfigForm recnfForm = new ReconfigForm(this, _appMatchedTopoList, _onLineFlags);
                        _choosedMatchedListNum = recnfForm.FindFirstValidStrategy();
                        if (_choosedMatchedListNum < 0)
                        {
                            _reconfigFlag = false;
                            MessageBox.Show("无有效匹配方案!");
                            MainForm.SetOutPutText("无有效匹配方案!");
                        }
                        else
                        {
                            SetMatchedTopo(_choosedMatchedListNum);
                            _reconfigFlag = true;
                            MainForm.SetOutPutText("自动匹配成功!选择方案" + (_choosedMatchedListNum + 1));
                        }
                    }
                    else
                    {
                        _reconfigFlag = ChooseStrategy(ref autoReconfigFlag);
                    }
                }
            }
        }
        /// <summary>
        /// 策略选择
        /// </summary>
        /// <returns>是否为有效选择</returns>
        public bool ChooseStrategy(ref Boolean autoReconfigFlag)
        {
            bool flag = false;
            //显示重构窗体
            ReconfigForm recnfForm = new ReconfigForm(this, _appMatchedTopoList, _onLineFlags);

            recnfForm.AutoReconfigFlag = autoReconfigFlag;
            recnfForm.ShowDialog();
            if (recnfForm.DialogResult == DialogResult.Yes)
            {
                _choosedMatchedListNum = recnfForm.ChoosedIndex;
                if (_choosedMatchedListNum >= 0)//有效的选择项
                {
                    SetMatchedTopo(_choosedMatchedListNum);
                    autoReconfigFlag = recnfForm.AutoReconfigFlag;
                    flag             = true;
                }
            }
            recnfForm.Dispose();
            return(flag);
        }