将 NumericUpDown 控件的最大值设为50,初值为0。
在该控件的ValueChange事件中加入如下代码
if(NumericUpDown.Value==50)
{
    MessageBox.Show(“最大值不得超过50”);
}
然后按住控件的向上箭头不放开鼠标,数值变化值到50时弹出消息框,点消息框“确定”按钮,程序崩溃,提示“未将引用设置到对象的实例”。
个人认为是微软系统的问题,请求解决方法!!

解决方案 »

  1.   

    你可以将判断放在其他事件中,比如按钮提交确认时判断,没必要每改变一次值就判断一次另外,你可以设置NumericUpDown 控件的Maximum属性最大值设置为50,也没必要弹出什么判断消息提示,就像dropdownList选择下拉框,初始化了什么,用户就只能选择什么,没必要提示
      

  2.   

    把代码改为下面这样试试:if(NumericUpDown.Value>=50)
    {
       NumbericUpDown.Value=50;
       MessageBox.Show(“最大值不得超过50”);
    }我不太会C#语法,你应该能明白意思。因按住NumbericUpDown的箭头,似乎变化并非始终以1为步进,而是有一定增量。具体也不是很确定,要根据实际情况分析。
      

  3.   

    解决了,用异步委托的方式;
    private void showMsgBox()
            {
                MessageBox.Show("最大值不得超过50");
            }        private void numericUpDown_ValueChanged(object sender, EventArgs e)
            {
                if (numericUpDown.Value == 50)
                {
                    this.BeginInvoke(new ThreadStart(showMsgBox));
                }
            }
      

  4.   

    if(NumericUpDown.Value==50)
    {
      MessageBox.Show(“最大值不得超过50”);
      return;
    }
    加个return吧   嘿嘿