程序的意思就是2个按钮,一个开始,一个停止。点开始按钮,程序抛出一个线程,计算2个GUID的值并在Label上显示,点停止线程结束。
namespace GUIDTEST
{
public partial class Form1 : Form
{
Thread t;
public Form1()
{
InitializeComponent();
t = new Thread(new ThreadStart(GuidProc));
}
private void button2_Click(object sender, EventArgs e)
{
t.Suspend();
}
private void button1_Click(object sender, EventArgs e)
{
t.Start();
}
public void GuidProc()
{
int i = 0;
while (true)
{
string s1 = Guid.NewGuid().ToString();
label4.Text = s1;
label4.Refresh();
string s2 = Guid.NewGuid().ToString();
label5.Text = s2;
label5.Refresh();
i++;
label6.Text = i.ToString();
}
}
}
}
调试失败。
真是不好意思,麻烦各位了,我是这么写的,老说参数不对。VS 2008
public partial class Form1 : Form
{
Thread T;
public Form1()
{
InitializeComponent();
T = new Thread(new ThreadStart(GuidProc));
}
private void button1_Click(object sender, EventArgs e)
{
T.Start();
}
private delegate void SetLabelText(string value);
private void SetLabel1(string value)
{
if (this.InvokeRequired)
{
SetLabelText d = new SetLabelText(SetLabel1);
this.Invoke(d);//这里参数不对。
}
else
{
this.label1.Text = value;
}
}
private void GuidProc()
{
while (true)
{
SetLabel1(Guid.NewGuid().ToString());
label1.Refresh();
}
}
}