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();
{
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();
那说明cb.Text并不是一个有效的时间格式比如格式不对,或是有空格等,你首先输出cb.Text看看是什么? calen1.SelectionStart = Convert.ToDateTime(cb.Text.Trim());//日历显示的时间为数据时间
bool s =DateTime.TryParse(cb.Text,out dt );
if(s)//如果能转换成有效的dateTime 再赋值
{
calen1.SelectionStart = dt;
}
else
{
//自己处理
}