public partial class Form1 : Form
{
Thread thread=null;
int n = 0;
bool severIsRun=false;//用来村示线程是否启动
private delegate void myDelegate(string str);//定义委托
private void setRich(string str)//委托
{
if (this.textBox1.InvokeRequired)
{
myDelegate md = new myDelegate(this.setRich);
this.Invoke(md, new object[] { str });
}
else
this.textBox1.Text =str;
}
public Form1()
{
InitializeComponent();
}
private void run()
{
while(true)
{
setRich((n++).toString());
Thread.Sleep(1000);
}
}
private void button1_Click(object sender, EventArgs e)
{
if(!severIsRun)
{
ThreadStart ts =new ThreadStart(run);
Thread = new Thread(ts);
severIsRun=true;
thread.Start();
}
}
private void button2_Click(object sender, EventArgs e)
{
if(severIsRun)
{
thread.Abort();
severIsRun=false;
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if(severIsRun)
{
thread.Abort();
severIsRun=false;
}
}
}