private void selectDate(ComboBox cb)
        {
            calen1.Left = cb.Left;//设置日期控件的位置
            calen1.Top = cb.Top - calen1.Height - 10;
            calen1.SelectionStart = Convert.ToDateTime(cb.Text);//日历显示的时间为数据时间
            calen1.SelectionEnd = Convert.ToDateTime(cb.Text);            calen1.Visible = true;//显示日期
            calen1.Show();

解决方案 »

  1.   

    你cb.Text值是什么啊?你在调试的时候看一下
      

  2.   

    DateTime.ParseExacthttp://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
      

  3.   

      calen1.SelectionStart = Convert.ToDateTime(cb.Text);//日历显示的时间为数据时间
    那说明cb.Text并不是一个有效的时间格式比如格式不对,或是有空格等,你首先输出cb.Text看看是什么?  calen1.SelectionStart = Convert.ToDateTime(cb.Text.Trim());//日历显示的时间为数据时间
      

  4.   

    cb.Text不能有效的转换成dataTimedateTime dt = new dateTime();
    bool s =DateTime.TryParse(cb.Text,out dt );
    if(s)//如果能转换成有效的dateTime 再赋值
    {
    calen1.SelectionStart = dt;
    }
    else
    {
    //自己处理
    }
      

  5.   

    楼主断点调试下你的cb.Text的值是什么,肯定是因为与时间格式不符才弹出如上提示的
      

  6.   

    cb.Text的值不是一个格式正确的日期时间字符串。
      

  7.   

    估计 界面显示的是中文的年月日吧,应该直接使用calen1C.Valu;
      

  8.   

    调试看下cb.Text的值,绝对不是时间个格式,只有是时间格式的才能那样转换的