コード例 #1
0
 private void NewAntenna_ToolStripMenuItem_Click(object sender, EventArgs e)
 {
     f3 = OpenNewForm <NewAntennaWindow>(f3);
 }
コード例 #2
0
        //单击更新菜单时,执行下面的操作
        public static bool AntennaUpdateMenu(TreeNode currentNode)
        {
            bool b = false;
            //保存setup文件中的字符串
            string setupStrTemp = MainWindow.setupStr;

            int    initialAntennaBlockSite;
            string initAntennaNum      = null;
            string antennaNodeInfoTemp = null;
            int    initialAntennaNodeSite;
            string antennaParStrTemp = null;

            try
            {
                //保存天线在setup文件中的位置
                initialAntennaBlockSite = MainWindow.setupStr.IndexOf(SetupContent.antennaStr1 + " " + currentNode.Text + "\r\n");
                //保存info文件中的所有字符串,原来天线的编号也要保存下来
                initAntennaNum      = GetAntennaNumLine(currentNode.Text, MainWindow.setupStr);
                antennaNodeInfoTemp = FileOperation.ReadFile(MainWindow.nodeInfoFullPath);
                //保存天线在waveinfo文件中的位置信息
                initialAntennaNodeSite = antennaNodeInfoTemp.IndexOf(SetupContent.antennaStr1 + " " + currentNode.Text + "\r\n");
                antennaParStrTemp      = FileOperation.ReadFile(MainWindow.waveinfoFilePath);
            }
            catch (Exception e)
            {
                return(false);
            }

            NewAntennaWindow newAntennaWin = new NewAntennaWindow();

            //newAntennaWin.newdipolewaveformname_comboBox2.DropDownStyle = ComboBoxStyle.DropDown;

            AntennaDataRecoverOfProjectTree.AlterationAntennaPar(currentNode, antennaParStrTemp, newAntennaWin);
            //newAntennaWin.newdipolewaveformname_comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;
            if (!(AntennaDelOfSetupAndInfo(currentNode) && AntennaDelOfWaveInfo(currentNode)))
            {
                MessageBox.Show("文件被破坏,导致错误,原工程不可再用!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return(false);
            }

            MainWindow.creatSuccMesDisp = false;
            MainWindow.newFuncSign      = false;
            newAntennaWin.Text          = "更改天线";
            newAntennaWin.ShowDialog();

            switch (newAntennaWin.DialogResult)
            {
            case DialogResult.OK:
                if (MainWindow.IsReturnMidwayInNewProcess)
                {
                    FileOperation.WriteFile(setupStrTemp, MainWindow.mProjectFullName, false);
                    MainWindow.setupStr = setupStrTemp;
                    FileOperation.WriteFile(antennaParStrTemp, MainWindow.waveinfoFilePath, false);
                    FileOperation.WriteFile(antennaNodeInfoTemp, MainWindow.nodeInfoFullPath, false);
                    MainWindow.IsReturnMidwayInNewProcess = false;
                    return(false);
                }
                StringFound.DelBackIndStr(SetupContent.antennaStr1 + " " + currentNode.Text + "#");

                if (!setupStrRecoverInitAntennaNum(currentNode, initAntennaNum, initialAntennaBlockSite, initialAntennaNodeSite))
                {
                    MessageBox.Show("程序内部发生错误!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Stop);

                    FileOperation.WriteFile(setupStrTemp, MainWindow.mProjectFullName, false);
                    MainWindow.setupStr = setupStrTemp;
                    FileOperation.WriteFile(antennaParStrTemp, MainWindow.waveinfoFilePath, false);
                    FileOperation.WriteFile(antennaNodeInfoTemp, MainWindow.nodeInfoFullPath, false);
                    return(false);
                }


                MainWindow.staticTreeView.SelectedNode.Text = MainWindow.staticTreeView.Nodes[0].Nodes[0].Nodes[2].LastNode.Text;
                MainWindow.staticTreeView.Nodes[0].Nodes[0].Nodes[2].LastNode.Remove();
                b = true;
                break;

            default:
                FileOperation.WriteFile(setupStrTemp, MainWindow.mProjectFullName, false);
                MainWindow.setupStr = setupStrTemp;
                FileOperation.WriteFile(antennaParStrTemp, MainWindow.waveinfoFilePath, false);
                FileOperation.WriteFile(antennaNodeInfoTemp, MainWindow.nodeInfoFullPath, false);
                b = false;
                break;
            }
            //b = true;
            return(b);
        }
コード例 #3
0
        //根据天线名称找到天线类型,显示相应的面板,装载相应的参数
        public static bool AlterationAntennaPar(TreeNode currentNode, string antennaInfoStr, NewAntennaWindow newAntennaWin)
        {
            bool   b           = false;
            string waveTypeStr = null;

            try
            {
                waveTypeStr = GetTypeOfAntenna(currentNode, antennaInfoStr);
            }
            catch (Exception)
            {
                return(false);
            }
            switch (waveTypeStr)
            {
            case "偶极子天线<Short dipole>":
                if (!RecoverDipoleAntennaParOfWin(currentNode, antennaInfoStr, newAntennaWin))
                {
                    MessageBox.Show("程序内部产生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                //b = true;
                break;

            case "单极天线<Short monopole>":
                if (!RecoverMonopoleAntennaParOfWin(currentNode, antennaInfoStr, newAntennaWin))
                {
                    MessageBox.Show("程序内部产生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                //b = true;
                break;

            case "抛物面反射天线<Parabolic reflector>":
                if (!RecoverParabolicAntennaParOfWin(currentNode, antennaInfoStr, newAntennaWin))
                {
                    MessageBox.Show("程序内部产生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                //b = true;
                break;

            case "螺旋天线<Helical>":
                if (!RecoverHelicalAntennaParOfWin(currentNode, antennaInfoStr, newAntennaWin))
                {
                    MessageBox.Show("程序内部产生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(false);
                }
                //b = true;
                break;

            default:
                MessageBox.Show("程序内部产生错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            return(b);
        }
コード例 #4
0
        private static bool RecoverHelicalAntennaParOfWin(TreeNode currentNode, string allAntennaInfoStr, NewAntennaWindow newAntennaWin)
        {
            bool b = false;

            try
            {
                string   antennaBlockStr = GetBlockOfAntenna(currentNode, allAntennaInfoStr);
                char[]   sep             = { '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r' };
                string[] partStr         = antennaBlockStr.Split(sep);
                newAntennaWin.newhelicalantennaname_textBox27.Text = currentNode.Text;
                newAntennaWin.comboBox1.SelectedItem                        = "螺旋天线<Helical>";
                newAntennaWin.newhelicalsave_button14.Text                  = "更新";
                newAntennaWin.newhelicalcancel_button8.Text                 = "取消";
                newAntennaWin.comboBox1.Enabled                             = false;
                newAntennaWin.newhelicalsave_button14.Enabled               = false;
                newAntennaWin.newhelicalwaveformname_comboBox7.Text         = partStr[2].Trim('\n');
                newAntennaWin.newHelicalpolarization_comboBox3.Text         = partStr[3].Trim('\n');
                newAntennaWin.newhelicalmaxgain_textBox26.Text              = partStr[4].Trim('\n');
                newAntennaWin.newhelicalradius_textBox28.Text               = partStr[5].Trim('\n');
                newAntennaWin.newhelicallength_textBox29.Text               = partStr[6].Trim('\n');
                newAntennaWin.newhelicalpitch_textBox30.Text                = partStr[7].Trim('\n');
                newAntennaWin.helicalreceiverthreshold_newtextBox25.Text    = partStr[8].Trim('\n');
                newAntennaWin.newhelicaltransmissionlineloss_textBox24.Text = partStr[9].Trim('\n');
                newAntennaWin.newhelicalvswr_textBox23.Text                 = partStr[10].Trim('\n');
                newAntennaWin.newhelicaltemperature_textBox22.Text          = partStr[11].Trim('\n');
                b = true;
            }
            catch (Exception e)
            {
                LogFileManager.ObjLog.fatal(e.Message, e);
            }
            return(b);
        }
コード例 #5
0
        private static bool RecoverParabolicAntennaParOfWin(TreeNode currentNode, string allAntennaInfoStr, NewAntennaWindow newAntennaWin)
        {
            bool b = false;

            try
            {
                string   antennaBlockStr = GetBlockOfAntenna(currentNode, allAntennaInfoStr);
                char[]   sep             = { '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r' };
                string[] partStr         = antennaBlockStr.Split(sep);
                newAntennaWin.newparabolicantennaname_textBox12.Text = currentNode.Text;
                newAntennaWin.comboBox1.SelectedItem          = "抛物面反射天线<Parabolic reflector>";
                newAntennaWin.newparabolic_savebutton13.Text  = "更新";
                newAntennaWin.newparaboliccancel_button6.Text = "取消";
                newAntennaWin.comboBox1.Enabled = false;
                newAntennaWin.newparabolic_savebutton13.Enabled               = false;
                newAntennaWin.newparabolicwaveformname_comboBox5.Text         = partStr[2].Trim('\n');
                newAntennaWin.newparabolicpolarization_comboBox2.Text         = partStr[3].Trim('\n');
                newAntennaWin.newparabolicradius_textBox9.Text                = partStr[4].Trim('\n');
                newAntennaWin.newparabolicblockageradius_textBox10.Text       = partStr[5].Trim('\n');
                newAntennaWin.newparabolicaperturedistribution_comboBox6.Text = partStr[6].Trim('\n');
                newAntennaWin.newparabolicedgetaper_textBox8.Text             = partStr[7].Trim('\n');
                newAntennaWin.newparabolicreceiverthreshold_textBox7.Text     = partStr[8].Trim('\n');
                newAntennaWin.newparabolictransmissionlineloss_textBox19.Text = partStr[9].Trim('\n');
                newAntennaWin.newparabolicvswr_textBox21.Text        = partStr[10].Trim('\n');
                newAntennaWin.newparabolictemperature_textBox20.Text = partStr[11].Trim('\n');
                b = true;
            }
            catch (Exception e)
            {
                LogFileManager.ObjLog.fatal(e.Message, e);
            }
            return(b);
        }
コード例 #6
0
        private static bool RecoverMonopoleAntennaParOfWin(TreeNode currentNode, string allAntennaInfoStr, NewAntennaWindow newAntennaWin)
        {
            bool b = false;

            try
            {
                string   antennaBlockStr = GetBlockOfAntenna(currentNode, allAntennaInfoStr);
                char[]   sep             = { '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r' };
                string[] partStr         = antennaBlockStr.Split(sep);
                newAntennaWin.newmonopoleantennaname_textBox18.Text = currentNode.Text;
                newAntennaWin.comboBox1.SelectedItem         = "单极天线<Short monopole>";
                newAntennaWin.newmonopolesave_button12.Text  = "更新";
                newAntennaWin.newmonopolecancel_button4.Text = "取消";
                newAntennaWin.comboBox1.Enabled = false;
                newAntennaWin.newmonopolesave_button12.Enabled = false;
                //newAntennaWin.newmonopolewaveformname_comboBox4.Text = partStr[2].Trim('\n');
                newAntennaWin.newmonopolewaveformname_comboBox4.SelectedItem = partStr[2].Trim('\n');
                newAntennaWin.newmonopolelength_textBox31.Text               = partStr[3].Trim('\n');
                newAntennaWin.newmonopolemaxgain_textBox17.Text              = partStr[4].Trim('\n');
                newAntennaWin.newmonopolereceiverthreshold_textBox16.Text    = partStr[5].Trim('\n');
                newAntennaWin.newmonopoletransmissionlineloss_textBox15.Text = partStr[6].Trim('\n');
                newAntennaWin.newmonopolevswr_textBox14.Text         = partStr[7].Trim('\n');
                newAntennaWin.newmonopoletempertature_textBox13.Text = partStr[8].Trim('\n');
                b = true;
            }
            catch (Exception e)
            {
                LogFileManager.ObjLog.fatal(e.Message, e);
            }
            return(b);
        }
コード例 #7
0
        //更改操作会弹出原来新建天线的窗口,将偶极子天线原来设定的参数重新装载到窗口中对应的控件中
        private static bool RecoverDipoleAntennaParOfWin(TreeNode currentNode, string allAntennaInfoStr, NewAntennaWindow newAntennaWin)
        {
            bool b = false;

            try
            {
                string   antennaBlockStr = GetBlockOfAntenna(currentNode, allAntennaInfoStr);
                char[]   sep             = { '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r', '\r' };
                string[] partStr         = antennaBlockStr.Split(sep);
                newAntennaWin.newdipoleantennaname_textBox1.Text = currentNode.Text;
                newAntennaWin.comboBox1.SelectedItem             = "偶极子天线<Short dipole>";
                newAntennaWin.newdipolesave_button11.Text        = "更新";
                newAntennaWin.newdipolecancel_button2.Text       = "取消";
                newAntennaWin.comboBox1.Enabled = false;
                newAntennaWin.newdipolesave_button11.Enabled = false;
                //newAntennaWin.newdipolewaveformname_comboBox2.DropDownStyle = ComboBoxStyle.DropDown;
                //newAntennaWin.newdipoleantenna_panel1.Visible = true;

                newAntennaWin.newdipolewaveformname_comboBox2.SelectedItem = partStr[2].Trim('\n');
                //newAntennaWin.newdipolewaveformname_comboBox2.Text = partStr[2].Trim('\n');
                //newAntennaWin.newdipolewaveformname_comboBox2.DropDownStyle = ComboBoxStyle.DropDownList;

                newAntennaWin.newdipolemaxgain_textBox2.Text = partStr[3].Trim('\n');
                //newAntennaWin.newdipolepolarization_comboBox3.SelectedItem = partStr[4].Trim('\n');
                newAntennaWin.newdipolepolarization_comboBox3.Text       = partStr[4].Trim('\n');
                newAntennaWin.newdipolereceiverthreshold_textBox3.Text   = partStr[5].Trim('\n');
                newAntennaWin.newdipoletranmissionlineloss_textBox4.Text = partStr[6].Trim('\n');
                newAntennaWin.newdipolevswr_textBox5.Text        = partStr[7].Trim('\n');
                newAntennaWin.newdipoletemperature_textBox6.Text = partStr[8].Trim('\n');
                b = true;
            }
            catch (Exception e)
            {
                LogFileManager.ObjLog.fatal(e.Message, e);
            }
            return(b);
        }