解决方案 »
- VS2010没有打包选项是什么情况?
- webbrowser 如何跨域设置iframe里的iframe的内容?(IHTMLDocument3问题)
- 个人理财软件排行 大家各抒起见!!
- 引用类型的单元测试
- Crystal Report 中编辑参数字段 设置默认值时数字后面的小数点儿如何去掉啊?
- 在C#中用IE打开有中文的txt文件时乱码
- [100分求助]C#里怎么添加动态代码啊,代码是在一个文本框内生成的,怎么编译文本框内的代码啊?
- 求一元二次方程界面
- 为什么作OleDbDataAdapter.Fill( DataTable )时,我取不到返回的记录集?
- 怎么加入这个条件
- 如何遍历一个程序中所有方法?
- C#串口数据接收问题
Form1_Paint事件中启动了另一个线程,并在新的线程中执行this.Invalidate(),再一次触发了Form1_Paint事件,而Form1_Paint事件又启动一次新线程去执行Run,所以会越来越快解决方法很简单,把run中的while(true)去掉就OK了
int x=20;
int y=20;
private void Form1_Paint( object sender , PaintEventArgs e )
{
Graphics g = e.Graphics;
Pen p = new Pen(Color.Red);
g.DrawEllipse(p , x , y , 20 , 20);
Thread t = new Thread(run);
t.IsBackground = true;
t.Start();
}
private void run()
{
y++;
if( y > 400 )
{
y = 0;
}
Thread.Sleep(30);
this.Invalidate();
}