C#学习之多线程开发技术(四)

墨蓝 2022-08-09 02:23 207阅读 0赞

接着昨天的劲儿,今天继续前行~

先看看这个图片吧。

Center

是不是和任务管理器中的某个页面有点类似呢、?

承载各个进程信息控件是 ListView。

—————————————————————下面是代码区————————————————————————-

———————————-窗口的加载函数中,也就是:Form1_Load函数中的代码:

  1. ///---设置ListView的相关属性
  2. listView_ProcessTable.View = View.Details;
  3. listView_ProcessTable.GridLines = true;
  4. listView_ProcessTable.FullRowSelect = true;
  5. #region 这里是在添加列头,我更喜欢这样的做法,通过写代码来实现添加。
  6. //Add column header
  7. listView_ProcessTable.Columns.Add("进程名", 120);
  8. listView_ProcessTable.Columns.Add("进程ID", 120);
  9. listView_ProcessTable.Columns.Add("内存使用", 120);
  10. #endregion
  11. ///---获取进程信息
  12. GetProcess();

这里,这定义了一个函数, GetProcess(),代码如下:

  1. ///----获取本低地计算机的进程
  2. Process[] proList = Process.GetProcesses(".");
  3. ///---计算当前进程数目
  4. label_processCount.Text += proList.Length.ToString();
  5. ///---向listview中添加信息
  6. foreach (Process p in proList)
  7. {
  8. ListViewItem lvi = new ListViewItem();
  9. lvi.Text = p.ProcessName;
  10. ///----将指定集合的元素添加到 List<T> 的末尾。
  11. lvi.SubItems.AddRange(new string []{p.Id.ToString(), p.PrivateMemorySize64.ToString()});
  12. ///---listview中添加进程信息
  13. listView_ProcessTable.Items.Add(lvi);
  14. }

-—————————————————-这里是启动按钮事件的代码

  1. if (string.Empty !=label_processCount.Text)
  2. {
  3. ///---启动一个进程
  4. Process.Start(textBox_inputProcessName.Text);
  5. }
  6. else
  7. {
  8. label_processCount.Focus();
  9. }

-————————————————-这里是关闭按钮事件代码

  1. if (listView_ProcessTable.SelectedItems.Count > 0)
  2. {
  3. string proName = listView_ProcessTable.SelectedItems[0].Text;
  4. ///---根据进程名获取指定的进程
  5. Process[] p = Process.GetProcesses(proName);
  6. ///---杀死进程
  7. p[0].Kill();
  8. }
  9. else
  10. {
  11. MessageBox.Show("请选择要终止的进程");
  12. }

其实,今天的代码主要是结合了 获取进程信息 和 ListView 控件的 使用。其他的没什么亮点 啦

发表评论

表情:
评论列表 (有 0 条评论,207人围观)

还没有评论,来说两句吧...

相关阅读