private void Analyzer_ToolStripMenuItem_Click(object sender, EventArgs e) { ToolStripMenuItem clickItem = sender as ToolStripMenuItem; if (null != _globalInfo.CurrentAnalyzer && _globalInfo.CurrentAnalyzer.GetAnalyzerName().Equals(clickItem.Tag.ToString())) { return; } ToolStripItemCollection analyzerItems = toolStripDropDownButton_selectAnalyzer.DropDownItems; foreach (object analyzerItem in analyzerItems) { ((ToolStripMenuItem)analyzerItem).Checked = false; } clickItem.Checked = true; tableLayoutPanel_Analyzer.Controls.Clear(); // Form analyzeForm = new SteppedSineWaveCrossTalkAnalyze(); Form analyzeForm = AnalyzerPanelFactory.CreateAnalyzer(clickItem.Tag.ToString()); tableLayoutPanel_Analyzer.Controls.Add(analyzeForm); analyzeForm.Show(); _globalInfo.AppStateMachine.AnalyzerStatus = AnalyzeStatus.Idle; _globalInfo.CurrentAnalyzer?.ClosePanel(); _globalInfo.CurrentAnalyzer = analyzeForm as AnalyzePanelBase; label_analyzeName.Text = clickItem.Text; numericUpDown_delaySamples.Value = 0; }
private void AudioAnalyzerForm_Load(object sender, EventArgs e) { GlobalInfo.CreateInstance(this); _globalInfo = GlobalInfo.GetInstance(); _globalInfo.AppStateMachine.RefreshAudioForm(); Dictionary <string, string> analyzerInfo = AnalyzerPanelFactory.GetAllAnalyzerNameAndLabel(); ToolStripItemCollection analyzerItemCollection = toolStripDropDownButton_selectAnalyzer.DropDownItems; foreach (string analyzerClass in analyzerInfo.Keys) { ToolStripMenuItem analyzerItem = new ToolStripMenuItem(analyzerInfo[analyzerClass]); analyzerItem.Tag = analyzerClass; analyzerItem.Click += Analyzer_ToolStripMenuItem_Click; analyzerItemCollection.Add(analyzerItem); } Control.CheckForIllegalCrossThreadCalls = false; }