How can I make a DateTimePicker display an empty string?

后端 未结 8 692
不知归路
不知归路 2020-11-28 08:12

I would like to be able to display a DateTimePicker that has a default value of nothing, i.e. no date.

For example, I have a start date dtTaskStar

8条回答
  •  星月不相逢
    2020-11-28 09:06

    The basic concept is the same told by others. But its easier to implement this way when you have multiple dateTimePicker.

    dateTimePicker1.Value = DateTime.Now;
    dateTimePicker1.ValueChanged += new System.EventHandler(this.Dtp_ValueChanged);
    dateTimePicker1.ShowCheckBox=true;
    dateTimePicker1.Checked=false;
    
    
    dateTimePicker2.Value = DateTime.Now;
    dateTimePicker2.ValueChanged += new System.EventHandler(this.Dtp_ValueChanged);
    dateTimePicker2.ShowCheckBox=true;
    dateTimePicker2.Checked=false;
    

    the value changed event function

            void Dtp_ValueChanged(object sender, EventArgs e)
            {
                if(((DateTimePicker)sender).ShowCheckBox==true)
                {
                    if(((DateTimePicker)sender).Checked==false)
                    {
                        ((DateTimePicker)sender).CustomFormat = " ";
                        ((DateTimePicker)sender).Format = DateTimePickerFormat.Custom;
                    }
                    else
                    {
                        ((DateTimePicker)sender).Format = DateTimePickerFormat.Short;
                    }
                }
                else
                {
                    ((DateTimePicker)sender).Format = DateTimePickerFormat.Short;
                }
            }
    

    When unchecked

    When checked

提交回复
热议问题