2010-03-15 2 views
4

Мне нужно иметь всплывающее диалоговое окно, например Диалоговое окно «Цвет» или «Сохранить диалог», но для выбора даты из календаря. DateTimePicker - это то, что мне нужно, но я не знаю, как запустить его, как всплывающее диалоговое окно на C#.WinForms Диалог DateTimePicker?

ответ

7

Вы должны добавить DateTimePicker в форму и показать форму как диалог:

var picker = new DateTimePicker(); 
Form f = new Form(); 
f.Controls.Add(picker); 

var result = f.ShowDialog(); 
if(result == DialogResult.OK) 
{ 
    //get selected date 
} 
+0

Спасибо, это то, что я искал. – James

1

DateTimePicker является Control, а не Form. Вам нужно будет создать свой собственный Form и добавить к нему элемент управления; нет стандартного диалога для выбора дат.

+0

Вот что я боялся, но есть ли способ сделать диалог? – James

+0

В формах выигрыша нет формы, кроме формы – anishMarokey

+0

@James: Как я уже сказал, вам просто нужно создать еще одну «форму», добавить элемент управления (и любые свойства, которые вам понадобятся), я бы предположил, что вы нужно получить/установить отображаемое значение), затем создать его экземпляр и вызвать 'ShowDialog'. Вероятно, вы также захотите установить 'FormBorderStyle' в' FixedDialog'. –