CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

定时器的启动问题(比较怪异,这种方式就是触发不了)

楼主o1o(两蛋一枪)2006-03-10 10:40:57 在 .NET技术 / C# 提问

主窗体Form1下:  
  public   void   menuItem2_Begin()  
  {  
  //启动监控  
  menuItem2.Enabled=false;  
  menuItem3.Enabled=true;  
  myController.StartMonitoring()   ;  
  Thread.Sleep(50);  
  timer1.Enabled   =   true   ;  
  timer2.Enabled   =   true   ;  
  timerReConnectServerLink.Enabled=true;  
  timerRecordWarning.Enabled=true;  
  }  
   
  在   EsDevice   class   下  
  public   class   EsDevice  
  {  
  public   void   InitCommunication(Form1   myForm)  
  {  
  form   =   myForm;  
  //用多线程初始化..类  
  if   (!isConnectting   &&   !ClientLinked)  
  {  
  isConnectting=true;  
  tempThread   =   new   Thread(new   ThreadStart(this.InitTcpClient))   ;  
  tempThread.Start()   ;  
  }  
  }  
  private   void   InitTcpClient()  
  {  
  try  
  {  
  if   (!ClientLinked)  
  {  
  ...  
  ClientLinked=true;  
  isConnectting=false;  
  form.menuItem2_Begin();  
  //执行上面这句时Timer就是无法触发  
  //请问应该如何处理,如何解决  
  }  
  }  
  catch   (Exception   ex)  
  {  
  isConnectting=false;  
  }  
  }  
   
  }  
  问题点数:120、回复次数:17Top

1 楼o1o(两蛋一枪)回复于 2006-03-10 10:43:54 得分 0

Form1下已经调用了InitDevice  
  public   void   InitDevice(MainCenter   myCenter)  
  {  
  //对设备进行初始化  
  for(int   i   =   0   ;   i   <   myCenter.myServerList.Count   ;   i++)  
  {  
  EsDevice   myDevice   =   new   EsDevice(((ServerView)myCenter.myServerList[i]).ServerID)   ;  
  //将设备加入设备列表中  
  deviceList.Add(((ServerView)myCenter.myServerList[i]).ServerID,myDevice)   ;  
  //初始化通信类  
  myDevice.InitCommunication(myForm)   ;  
  }  
  monitorThread   =   new   Thread(new   ThreadStart(MonitoringDevice))   ;  
  }  
  Top

2 楼thelostland(落日忍者)回复于 2006-03-10 11:21:30 得分 5

应该不是timer的问题,你调试一下,断点能进去么Top

3 楼o1o(两蛋一枪)回复于 2006-03-10 11:50:24 得分 0

各位高手请支招呀,Timer.Enable已经为True,但Timer设置的Interval时间到后Tick事件没被触发。Top

4 楼songtianhua()回复于 2006-03-10 12:02:18 得分 5

没有太多的细看代码.TIMEER不会有什么问题.有没有是什么线程和TIMEER之间的一些细节的问题  
   
   
  我个人想哦.Top

5 楼wxdl1981(沉默之狼)回复于 2006-03-10 12:14:59 得分 5

你的Timer的Tick代码在哪儿?Top

6 楼GXY2005(民工甲:杀富济贫,打土豪分田地)回复于 2006-03-10 12:38:05 得分 5

在另一个线程中不能直接调用界面控件,要用invoke方法Top

7 楼o1o(两蛋一枪)回复于 2006-03-10 18:15:43 得分 0

现在估计要集中处理线程问题了,invoke方法没用过,谁能举个简单点的例子?Top

8 楼o1o(两蛋一枪)回复于 2006-03-13 16:22:57 得分 0

不会是没人看到这帖子吧Top

9 楼wxdl1981(沉默之狼)回复于 2006-03-15 15:44:16 得分 5

>>>>>你的Timer的Tick代码在哪儿?Top

10 楼o1o(两蛋一枪)回复于 2006-03-17 11:11:32 得分 0

还没人回答?  
  回   "Timer的Tick代码在哪儿":  
  int   i=0;  
  i++;//设个断点,啥也别干,只需要知道它执行到了这里就行Top

11 楼GXY2005(民工甲:杀富济贫,打土豪分田地)回复于 2006-03-17 11:59:30 得分 5

再说一遍,你不能在控件所在线程以外的线程调用主线程里的控件,可以使用控件自带的invoke   方法,调用代理。Top

12 楼20011521()回复于 2006-03-17 12:50:02 得分 5

Timer的Tick代码在哪儿":       根本就不会执行的  
  你换成系统的Timer   控件然后就会执行  
  我以前做过就出现过你现在的问题改  
  成m_timerEquipment_Elapsed就可以了Top

13 楼stonepeter(笨笨石头.NET_从公务员转身成为了程序员)回复于 2006-03-17 14:04:39 得分 5

楼主怎么不回答楼上人的问题呢?Top

14 楼mooddecode1980(心情解码)回复于 2006-03-17 14:10:32 得分 5

:)  
  -Top

15 楼o1o(两蛋一枪)回复于 2006-03-27 10:35:41 得分 0

以上回答均不是解决问题,最多也只是给出了某种方法,现在实在想不出应该如何结贴了,只好提出这样的问题:  
  如何简单地使用   invoke   方法。  
  谁能给出一个   invoke   方法的简单例子我就把分结给谁,希望大家不要回个MSDN上有例子或网上随便搜一下就有的答案了。Top

16 楼o1o(两蛋一枪)回复于 2006-03-29 11:56:15 得分 0

有谁见到此贴后请抄一个     使用   invoke   方法   的例子回贴,好让我结贴,好吗?Top

17 楼Knight94(愚翁)回复于 2006-03-29 12:27:16 得分 75

参看  
  http://blog.csdn.net/knight94/archive/2006/03/16/626584.aspxTop

相关问题

  • 关于定时器的使用[碰到个怪异的问题]
  • api(定时器)??
  • 再开贴提问:为什么我的Remoting服务定时器不触发 ? 大家看看阿 。
  • 定时器的触发时间为5ms,而触发后执行的操作的时间远>5ms,而且timer.enable=true.会出现什么样的后果?
  • 请问如何实现一个按照每天的一个时刻启动的定时器???
  • 关于定时器
  • 定时器问题!!!
  • 定时器问题。。。。。。
  • 定时器问题...
  • 求一定时器

关键词

  • 控件
  • 执行
  • 代码
  • clientlinked
  • isconnectting
  • 调用
  • timer
  • menuitem
  • 例子
  • 问题

得分解答快速导航

  • 帖主:o1o
  • thelostland
  • songtianhua
  • wxdl1981
  • GXY2005
  • wxdl1981
  • GXY2005
  • 20011521
  • stonepeter
  • mooddecode1980
  • Knight94

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo