DateTimePicker控件 的时间校验不正确的时候,我想返回上一次控件的值,请教高手解答下。

解决方案 »

  1.   

    定义一个全局变量private DateTime dtOldValue;
      

  2.   

    好像行不通。。我的判断代码如下:高手给个解决方法
     private void dtpTradeendtime_ValueChanged(object sender, EventArgs e)
            {
                if (dtpTradestarttime.Text.Trim() != null && dtpTradestarttime.Text.Trim() != "")
                {
                    DateTime stime = Convert.ToDateTime(dtpTradestarttime.Text);
                    DateTime etime = Convert.ToDateTime(dtpTradeendtime.Text);
                    if (DateTime.Compare(stime, etime) >0)
                    {
                        MessageBox.Show("结束时间不能早于开始时间");
                    }
                }
            }
    怎么在判断不通过后,将etime返回到上一次的值
      

  3.   

    楼主告诉你一个好消息
    DateTimePicker.Value的返回值就是DateTime类型,所以用不着Convert.ToDateTime(dtpTradestarttime.Text); 
      

  4.   

    怎么叫只能返回初始值?DateTimePicker构造的时候将其值记录下来,以后每次ValueChanged时,如果时间校验正确则记录下时间,不正确就返回全局时间
      

  5.   


    private DateTime dtoldtime;//老时间if (DateTime.Compare(dtoldtime, dtpTradeendtime) >0)//dtpTradeendtime是现在时间
    {
        MessageBox.Show("结束时间不能早于开始时间");
        dtpTradeendtime.Value=dtoldtime;
    }