读书人

大家看看这是咋回事

发布时间: 2012-11-04 10:42:42 作者: rapoo

大家看看这是怎么回事
我用相同的测试代码,在vs2010中调试时明显比在vs2008中卡很多,在2010中拖动窗体明显要“卡”点,这是怎么回事。
代码很简单,大家勿笑哈 ^_^

private delegate void MyDelegate(int i);
private delegate void MyDelegate1(ProgressBar p, int i);

private void button1_Click(object sender, EventArgs e)
{
Thread td = new Thread(ThreadDoWork);
td.IsBackground = true;
td.Start();
}

private void GetRandomValue(int m)
{
if (InvokeRequired)
{
MyDelegate del = new MyDelegate(GetRandomValue);
this.Invoke(del, m);
}
else
{
textBox1.Text += m.ToString() + " + ";
}
}

private void ThreadDoWork(object obj)
{
for (int m = 0; m <= 100; m++)
{
ShowProgress(progressBar1, m);
Thread.Sleep(100);
GetRandomValue(m);
}
}

private void ShowProgress(ProgressBar p, int i)
{
if (InvokeRequired)
{
MyDelegate1 del = new MyDelegate1(ShowProgress);
this.Invoke(del, p, i);
}
else
p.Value = i;
}


[解决办法]
顶起
估计你的机器爬不动了
[解决办法]
清理解决方案,重新编译。
[解决办法]
stopwatch方法执行时间
重新生成编译

读书人网 >C#

热点推荐