2010-07-15 9 views
0

c'est ce que je fais,C# .Net problème DateTimePicker

//this doesnt set the datetimepicker value to the set value 
class{ 
    constructor 
    { 
     InitializeComponent(); // -> this initializes all the form components 

     DateTimePicker.Value = System.DateTime.Now.AddDays(30); //->trying to set the date time picker value to a date one month from now. 

    } 
} 

//but this does set the date to the desired value.. 
class{ 
    constructor 
    { 
     InitializeComponent(); // -> this initializes all the form components 

    } 

    form_onLoad() //->on form load event 
    { 
    DateTimePicker.Value = System.DateTime.Now.AddDays(30); 
    } 
} 

Quelqu'un peut-il expliquer s'il vous plaît ce qui est la différence et pourquoi il ne marche pas changer la date avec la méthode précédente? et pourquoi il se fixe avec la dernière méthode?

Répondre

1

La première fois que vous utilisez cette ligne:

DateTimePicker.Value = System.DateTime.Now.AddDays(30);

est avant le chargement du formulaire, dans le constructeur de formulaire. Lorsque le formulaire est chargé, la valeur est réinitialisée. Vous ne pouvez pas manipuler les contrôles dans le code d'instanciation du conteneur.

1

DateTimePicker est une propriété de votre formulaire. Vous ne pouvez pas définir la valeur d'une propriété de formulaire avant son chargement. Donc, votre premier ne fonctionne pas et le deuxième le fait.