C# Winfrom 进程&多线程
进程:
首先需要引用命名空间:
using systemDiagnostics;
最简单的打开进程的方法,进程名并不是汉字:
Process.start("calc");//clac是计算器的进程,使用这个方法就可以打开计算器了 Process.start("notepad");//可以同时打开多个进程,notepad是记事本
以浏览的方式打开一个进程:
//首先把一个进程的路径输出到TextBox里; //返回一个bool类型 DialogResult dr = openFiledialog1.ShowDialog(); //判断 if(dr==Diagloresult.OK) { textbox1.text = openFiledialog.FileName } //把文件路径输出到文本框内后,直接打开文本框内的路径 Process p = new Process; //开始处理这个信息,信息在textbox内 ProcessStartInfo psi = new ProcessStartInfo(textbox1.text); p.StartInfo = psi; p.Start();
如果用指定浏览器输出一个进程的话可以用Process.Start("Chrome","http://www.baidu.com");
默认浏览器直接输出即可Process.Start("http://www.baidu.com");
多线程:
using System.Threading;
Thread.Sleep();
一个线程同一时间只能做一件事情;
新建一个线程(前台线程):
主线程停了,后台线程还继续
//委托的关键字delegate Thread tr = new Thread(需要写一个委托,委托是指向一个方法的,委托不需要写括号,只需要写方法名即可); //线程用完后直接删掉,等下次执行方法的时候又重新new了一个新的线程
后台线程:
主线程停了后台线程立即停止;
Thread th = new Thread(委托); //创建对象 th.IsBackground = true; //设置后台线程 th.Start(); //开始执行
“关监控”的方法:
构造函数中,构造方法下部添加: Control.CheckForIllegalCrossThreadCalls = false;