/// <summary> /// 按钮点击事件:添加/设置进程配置 /// </summary> /// <param name="sender">事件参数</param> /// <param name="e">事件参数</param> private void button3_Click(object sender, EventArgs e) { ProcessProfileModel ppm = (ProcessProfileModel)comboBox2.SelectedItem; if (ppm.processName == null) { Console.WriteLine("--null"); foreach (ProcessProfileModel pp in processProfileList) { if (pp.processName == textBox2.Text) { label1.Text = "进程名重复"; return; } } ProcessProfileModel nppm = new ProcessProfileModel(bgWorker, textBox2.Text, checkBox2.CheckState, (ProcessPriorityClass)comboBox3.SelectedItem); processProfileList.Insert(0, nppm); comboBox2.SelectedItem = nppm; } else { Console.WriteLine((ProcessProfileModel)comboBox2.SelectedItem); ppm.processName = textBox2.Text; ppm.SetWithCheckState(checkBox2.CheckState); ppm.priority = (ProcessPriorityClass)comboBox3.SelectedItem; processProfileList.ResetBindings(); } }
/// <summary> /// 按钮点击事件:删除选择的进程配置 /// </summary> /// <param name="sender">事件参数</param> /// <param name="e">事件参数</param> private void deletePPM_Click(object sender, EventArgs e) { ProcessProfileModel ppm = (ProcessProfileModel)comboBox2.SelectedItem; ppm.delete(); processProfileList.Remove(ppm); CheckSelectedProfile(); }
/// <summary> /// 根据选择的进程配置刷新UI /// 检测 是否选择了一个有效的进程 并修改UI /// </summary> private void CheckSelectedProfile() { ProcessProfileModel ppm = (ProcessProfileModel)comboBox2.SelectedItem; if (ppm.processName == null) { textBox2.Text = ""; button3.Text = "添加"; deletePPM.Visible = false; } else { textBox2.Text = ppm.processName; checkBox2.CheckState = ppm.enableState ? CheckState.Checked : CheckState.Unchecked; comboBox3.SelectedItem = ppm.priority; button3.Text = "设置"; deletePPM.Visible = true; } }
public static List <Process> GetProcessByModel(ProcessProfileModel ppm) { return(GetProcessByName(ppm.processName)); }
public bool UnRegProcess(ProcessProfileModel ppm) { return(processProfileList.Remove(ppm)); }
public void RegProcess(ProcessProfileModel ppm) { processProfileList.Add(ppm); }
public static void SetProcessesPriorityByModel(ProcessProfileModel ppm) { SetProcessesPriority(ProcessUtil.GetProcessByModel(ppm), ppm.priority); }