private void NewAntenna_ToolStripMenuItem_Click(object sender, EventArgs e) { f3 = OpenNewForm <NewAntennaWindow>(f3); }
//单击更新菜单时,执行下面的操作 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); }
//根据天线名称找到天线类型,显示相应的面板,装载相应的参数 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); }
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); }
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); }
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); }
//更改操作会弹出原来新建天线的窗口,将偶极子天线原来设定的参数重新装载到窗口中对应的控件中 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); }