timer1_Tick事件不执行

liulangdeyuyu 2011-01-05 10:15:10
ReceiveScreen rs;
private void button1_Click(object sender, EventArgs e)
{
rs = new Receive(5566);
rs.ScreenReady = new ExecuteEvent(get);
rs.Open();
}
private void getScreen(Receive receive)
{
timer1.Enabled = true;//断点测试,这一步已执行!
}
为什么 private void timer1_Tick(object sender, EventArgs e)不执行?


private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
时,正确。
...全文
750 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
无常名 2011-01-05
  • 打赏
  • 举报
回复
好像有这么个东西吧?timer1.start()
*********************************************************** 欢迎使用 CSDN 小秘书
 http://blog.csdn.net/whowhen21***********************************************************
zerodegrees 2011-01-05
  • 打赏
  • 举报
回复
初步怀疑你是委托没用好,虽然断点能测试到,但不会执行。
laj0600310219 2011-01-05
  • 打赏
  • 举报
回复
timer控件的事件那里,指向了timer1_Tick函数没?
liulangdeyuyu 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qqamoon 的回复:]

貌似是跨线程调用的原因

还有 ScreenReady 是事件吗? rs.ScreenReady += new ExecuteEvent(getScreen)?
[/Quote]
跨线程调用会出现什么问题?怎么解决?
liulangdeyuyu 2011-01-05
  • 打赏
  • 举报
回复
private void getScreen(Receive receive)
{
timer1.Enabled = true;//断点测试,这一步已执行!
}
这一步已经执行了,即timer1.Enabled = true,但是timer1的实践不执行
vina 2011-01-05
  • 打赏
  • 举报
回复
把那个timer以及事件都删除,重新添加一个!试一试!
yixinpai 2011-01-05
  • 打赏
  • 举报
回复
timer1_Tick,注册了吗?
龍过鸡年 2011-01-05
  • 打赏
  • 举报
回复
貌似是跨线程调用的原因

还有 ScreenReady 是事件吗? rs.ScreenReady += new ExecuteEvent(getScreen)?
liulangdeyuyu 2011-01-05
  • 打赏
  • 举报
回复

贴错了

ReceiveScreen rs;
private void button1_Click(object sender, EventArgs e)
{
rs = new ReceiveScreen (5566);
rs.ScreenReady = new ExecuteEvent(getScreen);//这句是个委托
rs.Open();
}
private void getScreen(Receive receive)
{
timer1.Enabled = true;//断点测试,这一步已执行!
}
为什么 private void timer1_Tick(object sender, EventArgs e)不执行?


private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
}
时,正确。
windhuan 2011-01-05
  • 打赏
  • 举报
回复
timer1的间隔你设置了多少, 设小一点
雨师88 2011-01-05
  • 打赏
  • 举报
回复
rs = new Receive(5566);
rs.ScreenReady = new ExecuteEvent(get);
rs.Open();
和你这几步有关吧
不懂装懂 2011-01-05
  • 打赏
  • 举报
回复
ReceiveScreen rs;
private void button1_Click(object sender, EventArgs e)
{
rs = new Receive(5566);
rs.ScreenReady = new ExecuteEvent(get);
rs.Open();
getScreen(rs);//???加这句???
}
private void getScreen(Receive receive)
{
timer1.Enabled = true;//断点测试,这一步已执行!
}
TimZhuFaith 2011-01-05
  • 打赏
  • 举报
回复
没看懂。。。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧