Задаване на инструмента за избор на дата и час на празно или 0 стойност

Имам този формуляр точно тук, където потребителят ще добави началната дата на диагнозата. доста просто нали? но в диагнозата end как да го задам на празен? или 0 стойност? ето моя формуляр.въведете описание на изображението тук


person user962206    schedule 25.03.2012    source източник
comment
Можете ли да покажете кода? Подсказката обаче би била да се използва Nullable‹DateTime› DateTime? така че може да съхранява нула. DateTime е обект със стойност и следователно не може да съхранява null   -  person James Kyburz    schedule 25.03.2012
comment
В моята база данни типът данни е само дата. Имам предвид в потребителския интерфейс как биха задали първоначалните им стойности на нула или 0? ще има стойност, ако потребителят щракне върху него.   -  person user962206    schedule 25.03.2012
comment
възможен дубликат на DateTimePicker Null Value (.NET)   -  person bluish    schedule 13.11.2013


Отговори (7)


Най-доброто, което можете да направите, е да зададете ShowCheckBox на true. Ако CheckBox не е отметнато, смятайте, че не е зададена крайна дата.

person Thomas Levesque    schedule 25.03.2012
comment
крайната дата е зададена = 0? или нула? - person user962206; 25.03.2012
comment
Не, свойството Value все още е зададено на валидна дата. Трябва да тествате свойството Checked, за да решите дали искате да използвате датата или не. - person Thomas Levesque; 25.03.2012

мисля, че не е възможно да го зададете като празна или 0 стойност.. най-малкото, което можете да направите, е да го зададете в неговата MinDate, ако е нула..

този работи за мен..

 dateTimePicker1.Format = DateTimePickerFormat.Custom;

 dateTimePicker1.CustomFormat = " ";
person rutchel    schedule 28.03.2012

не искате да е зададено на 0. Няма смисъл (1/1/01? повечето от DB не съхраняват тази дата)

Трябва да го поставите или по същия начин като начало, или в разумна граница, която описва общия сценарий (като + 2 седмици)

person Dani    schedule 25.03.2012

Опитайте да зададете свойството Value. Мисля обаче, че има ограничение за това колко назад можете да зададете стойността.

person Devin M    schedule 25.03.2012
comment
Искам инструментът за избор на дата и час да се показва празен. или нулева стойност как мога да постигна това? - person user962206; 25.03.2012
comment
Не можете да нулирате стойността на датата, можете само да я зададете на дата далеч в миналото. Вижте отговора на Thomas Levesque относно поставянето на квадратче за отметка до датата, което може да ви донесе това, което искате. - person Devin M; 25.03.2012

Можете да поставите външно квадратче за отметка и да деактивирате инструмента за избор на дата и час, когато искате да обозначите без дата.

person Alex    schedule 25.03.2012

опитайте се да използвате

dateTimePicker1.Value.Date

Ще ви върне само дата

person Mujassir Nasir    schedule 23.11.2013
comment
Това не дава отговор на въпроса. За да критикувате или да поискате разяснение от автор, оставете коментар под неговата публикация. - person Qantas 94 Heavy; 24.11.2013

Сега всичко е решено, само трябваше да се коригира. Както казахте вие, аз не задавах стойността или свойствата, така че така или иначе щеше да е нула

private string _BirthDate;

        public Form1()
        {
            InitializeComponent();
            dateTimePicker1.MaxDate = DateTime.Now; // Ensures no future dates are set.
            dateTimePicker1.Format = DateTimePickerFormat.Custom;
            //dateTimePicker1.Checked = true;
            dateTimePicker1.CustomFormat = dateTimePicker1.CustomFormat;
            dateTimePicker1.Value = DateTime.Now;
        }
        public string BirthDate
        {
            set
            {
                if (dateTimePicker1.Value.Date == DateTime.Today)
                {
                    dateTimePicker1.CustomFormat = " ";

                }
                else
                {
                    _BirthDate = value;
                }
            }
            get { return _BirthDate; }
        }


        private void button1_Click(object sender, EventArgs e)
        {

           BirthDate = dateTimePicker1.Value.ToString();
        }
person dave.2    schedule 17.08.2017