private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
} private void timer1_Tick(object sender, EventArgs e)
{ timer1.Stop();
Int32 Count = 0;
for (int i = 1; i <= 10000; i++)
{
Count = Count + i;
} this.label3.Text = Count.ToString();
Application.DoEvents();
this.label3.Text = "线程暂停!"; timer1.Interval = 10000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
}
{
timer1.Interval = 1000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
} private void timer1_Tick(object sender, EventArgs e)
{ timer1.Stop();
Int32 Count = 0;
for (int i = 1; i <= 10000; i++)
{
Count = Count + i;
} this.label3.Text = Count.ToString();
Application.DoEvents();
this.label3.Text = "线程暂停!"; timer1.Interval = 10000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
}
解决方案 »
- 请问TextBox控件输入的数据以什么方式保存起来,然后下次可以直接读取,而不必再次输入!
- 关于C# winform项目启动的时候 的问题
- 问一个 关于图片移动浏览的问题
- datagridview指定排序
- 为什么.net.Remoting总是不成功
- listview的图标,失真
- ListView 中上下键的事件响应问题
- 那位有.net C#编写的DSO访问OLAP的例子,高分求教。
- 字符串""和null在传值时的区别
- 这是怎么了?Visual Studio.Net 已检测到指定的Web服务器运行的不是ASP.NET1.1版。您将无法运行ASP.NET Web应用程序或服务。
- 如何判断CMD窗口中鼠标是否按下
- wpf事件路由问题
timer1.Start(); //启动计时
使用一个就好
她的执行是根据timer的Interval 来的,每隔Interval毫秒 时间调用一次
所以你不能在timer1_Tick中再增加
timer1.Stop();timer1.Interval = 10000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
.net 不是说他能托管吗?
如果这个问题不解决的话 程序稍微一大 系统就会撑死,并报当前应用程序outofmemory像飞龙所说 就是不停的申请使用内存,一直到你机器快没有内存了,才开始GC一下(垃圾回收)。
我做的应用程序里并没有回收,而是应用程序超出内存
怎么才能解决此为题呀?
timer1.Start(); //启动计时
上面两行没有必要写的,因为Timer是不可重入的。内存一直再涨或许就是GC机制的问题。。从代码上看不出在消耗多大的内存
timer1.Interval = 10000; //启动
timer1.Enabled = true;
timer1.Start(); //启动计时
纯属多余,
个人意见……
timer1.Enabled = true;
timer1.Start(); //启动计时 这四句话去掉 就可以了
你或者删除 Application.DoEvents() 这句,或者要保证这个时候不会有其它的执行timer1_Tick的任务堆在windows消息泵里。不要滥用Application.DoEvents()。这并不是什么线程,而是使用函数递归的方式,去调用在windows系统消息泵里的其它任务(那些原本排在后边的任务)。假设它所调用了后边的timer1_Tick,那么里边的方法就又递归地调用更多的后边的消息。如果你会用线程等等,就不要使用Application.DoEvents()。这是一种应该淘汰的、在vb3~vb6那种根本没有多线程机制的程序中才用的方法。另外,timer1_Tick的第一句话应该是停止定时器,然后才去正常处理事务。等处理完事务,再启动定时器。假设你不停止定时器,那么就要保证定时器任务不会“重复进入”,比如写一个变量标记是否正在处理这到时事务,判断当这个标记为true那么应该立刻return,而不是重复执行。