2016-09-09 1 views
1

Bonjour, S'il vous plaît j'essaie d'enregistrer DateTime Valeur dans un paramètres de l'application.Sauvegarder DateTime en cours dans les paramètres de l'application

Dans ma table de paramètres, j'ai InstallationDate et PreviousDate comme indiqué.

Nom | Type de | Portée | Valeur

InstallationDate - System.DateTime - Utilisateur -

PreviousDate - System.DateTime - Utilisateur -

J'essaie d'insérer un InstallationDate sur la première course et PreviousDate lors de la fermeture du formulaire.

private void frmMainMenu_Load(object sender, EventArgs e) 
    { 
     int firstU = Properties.Settings.Default.FirstUse; 
     int one = 1; 

     if (firstU == 0) 
     { 
      Properties.Settings.Default["FirstUse"] = one; 
      Properties.Settings.Default.Save(); 
     } 


     Properties.Settings.Default["InstallationDate"] = DateTime.Now.ToShortDateString(); 
     Properties.Settings.Default.Save(); 

    } 


private void frmMainMenu_FormClosing(object sender, FormClosingEventArgs e) 
    { 
     Properties.Settings.Default["PreviousDate"] = DateTime.Now.ToShortDateString(); 
     Properties.Settings.Default.Save(); 
    } 

Mais les problèmes maintenant, sa trowing une exception

"La propriété des paramètres 'InstallationDate' est d'un type non compatible."

+1

Puisque vous avez défini la propriété en utilisant le type 'System.DateTime', vous devez affecter' DateTime.Now' à la propriété. –

+2

Ou mieux, 'DateTime.UtcNow' ... –

Répondre

3

Vous écrivez:

Properties.Settings.Default["InstallationDate"] = DateTime.Now.ToShortDateString(); 

Vous dites InstallationDate est un DateTime, mais vous essayez de définir un string (en utilisant ToShortDateString) dans le domaine, d'où les types ne correspondent pas.

+0

Je viens de changer, et il n'a pas truqué une exception, mais la valeur DateTime n'est pas enregistrée dans le fichier App.Settings. –