2010-03-15 8 views
4

J'ai besoin d'une boîte de dialogue contextuelle comme la boîte de dialogue Couleur ou Enregistrer, mais pour choisir une date dans un calendrier. Le DateTimePicker est ce dont j'ai besoin, mais je ne sais pas comment le lancer comme une boîte de dialogue en C#.WinForms DateTimePicker Dialog?

Répondre

7

Vous devez ajouter un DateTimePicker à une forme et montrer la forme comme une boîte de dialogue:

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

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

Merci, c'est ce que je cherchais. – James

1

Le DateTimePicker est un Control, et non un . Vous devrez créer votre propre Form et y ajouter le contrôle; il n'y a pas de dialogue standard pour sélectionner les dates.

+0

C'est ce que je craignais, mais est-il un moyen de faire un dialogue? – James

+0

Il n'y a aucun moyen de gagner des formes autres que le formulaire – anishMarokey

+0

@James: Comme je l'ai dit, vous aurez juste besoin de créer un autre 'Form', ajouter le contrôle (et toutes les propriétés dont vous aurez besoin, je suppose que vous feriez besoin d'un pour obtenir/définir la valeur affichée), puis l'instancier et appeler 'ShowDialog'. Vous aurez probablement aussi besoin de définir 'FormBorderStyle' sur' FixedDialog'. –