关于事件的问题(事件消息堆积问题)

Bluclyf 2004-06-09 11:19:42
我本来打算在一个PictureBox上实现类似按钮的操作。首先我在PictureBox上绘制上几个按钮,当按下某个按钮后切换到另一幅画面。此时点击其他无效,然后当处理完成后再回来。结果发现发生了消息堆积。如果在切换到另一界面时在按钮位置点击鼠标,当界面恢复回来后这次单击再次触发。我实验过把PictureBox的鼠标事件移除,但是当把事件重新添加进时所累积的事件消息又重新回来了。由于程序已经模块化,源代码太大,无法贴到论坛上。
...全文
111 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanwl 2004-06-09
  • 打赏
  • 举报
回复
有一个简单办法,不过不知道是否可靠...
用一个计数器,记下那些不该触发的多余消息
然后在处理事件的时候判断一下
大致这样处理:

private int InvalidMessageCounter = 0;
private bool MessageInvalidate = false;

void pictureBox_Click(EventArgs e)
{
if (MessageInvalidate)
{
InvalidMessageCounter ++;
}
else if(InvalidMessageCounter > 0)
{
InvalidMessageCounter --;
return;
}
else
{
//any code here...
MessageInvalidate = true;
}
}
hivak47 2004-06-09
  • 打赏
  • 举报
回复
可以把关键的代码贴出来看看。
北京的雾霾天 2004-06-09
  • 打赏
  • 举报
回复
"结果发现发生了消息堆积",这是个什么意思?学习一下.
“微信公众平台深度开发Java版 v2.0”系列课程共有6季,使用JAVA语言,系统讲解微信公众平台订阅号、服务号官方列出的全部功能接口,包括:自定义菜单、个性化菜单(按需定制菜单)、群发消息、客服消息(有限次消息推送)、模板消息接(无限次消息推送)、微信网页开发(微信WEB开发、微信游戏)、微信JSSDK开发、用户管理、获取用户基本信息、网页授权获取用户基本信息(通过WEB得到用户信息)、二维码(临时二维码、永久二维码)、事件推送、接收普通消息、被动回复用户消息,等知识点。 以及,针对微信公众号开发的服务端架构设计方案。课程以微信公众号开发视角,讲解JAVA开发微信公众号所需的框架、第三方工具。 购买套餐还赠送经典微信开发课程——[微信公众号_独立知识点]环境搭建。该课程针对各种复杂的网络环境,讲解如何构建开发环境,已解决“没有服务器”、“没有固定IP”等开发者遇到的窘境。 课程采用独立知识点讲解,一个知识点,一组课程,真正做到“简单、高效、”以短的时间、实现的学习。更多课程信息请访问CSDN。网址:http://edu.csdn.net/lecturer/631 “微信公众平台企业号开发Java版”陆续上线。详情 qq2326321088

110,536

社区成员

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

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

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