copy 一份代码来帮你:
可以,你可以在将要用到datetimePicker的地方先放一个文本框,然后写入以下代码,就可以实现你要的不显示时间时是一个文本框private void textBox1_Enter(object sender, System.EventArgs e)
{
System.Windows.Forms.DateTimePicker time=new DateTimePicker();
time.Dock=DockStyle.Fill ; this.textBox1.Controls.Add(time);
} private void textBox1_Leave(object sender, System.EventArgs e)
{
this.textBox1.Controls.Clear();
}

解决方案 »

  1.   

    dtpDay2.Format = DateTimePickerFormat.Custom;
    dtpDay2.CustomFormat = "yyyy-MM-d";dtpTime2.Format = DateTimePickerFormat.Custom;
    dtpTime2.CustomFormat = "HH:mm:ss";//          HH:mm:ss改成你要显示的格式
      

  2.   

    格式字符串 说明 
    d 一位数或两位数的天数。 
    dd 两位数的天数。一位数天数的前面加一个零。 
    ddd 三个字符的星期几缩写。 
    dddd 完整的星期几名称。 
    h 12 小时格式的一位数或两位数小时数。 
    hh 12 小时格式的两位数小时数。一位数数值前面加一个零。 
    H 24 小时格式的一位数或两位数小时数。 
    HH 24 小时格式的两位数小时数。一位数数值前面加一个零。 
    m 一位数或两位数分钟值。 
    mm 两位数分钟值。一位数数值前面加一个零。 
    M 一位数或两位数月份值。 
    MM 两位数月份值。一位数数值前面加一个零。 
    MMM 三个字符的月份缩写。 
    MMMM 完整的月份名。 
    s 一位数或两位数秒数。 
    ss 两位数秒数。一位数数值前面加一个零。 
    t 一个字母的 AM/PM 缩写(“AM”显示为“A”)。 
    tt 两个字母的 AM/PM 缩写(“AM”显示为“AM”)。 
    y 一位数的年份(2001 显示为“1”)。 
    yy 年份的最后两位数(2001 显示为“01”)。 
    yyyy 完整的年份(2001 显示为“2001”)。 [C#] 
    public void SetMyCustomFormat()
    {
       // Set the Format type and the CustomFormat string.
       dateTimePicker1.Format = DateTimePickerFormat.Custom;
       dateTimePicker1.CustomFormat = "MMMM dd, yyyy - dddd";
    }