| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1468 人关注过本帖
标题:关于 NumericUpDown 控件 ValueChange 事件中加消息框的很 bug 的一个问题
只看楼主 加入收藏
缄默2010
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-7-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
关于 NumericUpDown 控件 ValueChange 事件中加消息框的很 bug 的一个问题
将 NumericUpDown 控件的最大值设为50,初值为0。
在该控件的ValueChange事件中加入如下代码
if(NumericUpDown.Value==50)
{
    MessageBox.Show(“最大值不得超过50”);
}
然后按住控件的向上箭头不放开鼠标,数值变化值到50时弹出消息框,点消息框“确定”按钮,程序崩溃,提示未将引用设置到对象的实例。
个人认为是微软系统的问题,请求解决方法!!
搜索更多相关主题的帖子: 微软系统 最大值 
2012-08-13 14:29
yhlvht
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:36
帖 子:707
专家分:4405
注 册:2011-9-30
收藏
得分:5 
确实存在这样的问题,MessageBox框最好不要在ValueChanged事件中写,你可以判断NumericUpDown.Value==50后,给个标识什么的,然后在别的地方判断这个标识。
若是要立即弹出,可以加一个Timer,在Tick事件中判断标识,弹出提示框,注意停止Timer,重置标识,启动Timer
2012-08-13 17:57
缄默2010
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-7-20
收藏
得分:0 
回复 2楼 yhlvht
您讲的很对!我是用这种方法解决的,由于其他人之前没有注意到这个问题,所以有很多地方要修改。领导说不想用定时器,看看有没有其他的解决办法,试了几种都无解,恳请大家讨论一下有没有其他更精简的方法!
2012-08-14 08:12
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:15 
用异步方式。
程序代码:
       private void showMsgBox()
        {
            MessageBox.Show("最大值不得超过50");
        }

        private void numericUpDown_ValueChanged(object sender, EventArgs e)
        {
            if (numericUpDown.Value == 50)
            {
                this.BeginInvoke(new ThreadStart(showMsgBox));
            }
        }
收到的鲜花
  • 缄默20102012-08-14 11:22 送鲜花  3朵   附言:我很赞同
2012-08-14 10:29
zhoufeng1988
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:北京
等 级:贵宾
威 望:27
帖 子:1432
专家分:6329
注 册:2009-5-31
收藏
得分:0 
加分加分。
2012-08-14 10:32
缄默2010
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-7-20
收藏
得分:0 
四楼是正解!我也是用异步委托的方法解决了,想上来分享一下,看来不用了,大家看四楼的解答就可以了!

[ 本帖最后由 缄默2010 于 2012-8-14 11:24 编辑 ]
2012-08-14 11:17
缄默2010
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2012-7-20
收藏
得分:0 
回复 4楼 zhoufeng1988
感谢您,这个方法解决了。应该是因为窗体是单线程的原因,所以用异步委托模拟多线程,不知道讲的对不对,还望指正。学习了!谢谢
2012-08-14 11:20
aqlick0422
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-8-1
收藏
得分:0 
哦,原来这样。

[ 本帖最后由 aqlick0422 于 2012-8-14 17:10 编辑 ]
2012-08-14 16:56
快速回复:关于 NumericUpDown 控件 ValueChange 事件中加消息框的很 bug 的一个 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041174 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved