c# - How to record login time and make it static -


let after logged main window, login time recorded , show in child window (e.g click specified button , child window pop out , display time). problem how make recorded login time become static? used datetime datetime = datetime.now, did give me time, everytime close child window , re-open it, time keeps updating current time.

here sample of program class mentioned above can extend bit more alex' suggestion. simplicity sake assuming want track login timestamp...

    static class program     {         private static datetime? _logintime;         private static readonly object padlock = new object();          [stathread]         static void main()         {             application.enablevisualstyles();             application.setcompatibletextrenderingdefault(false);             application.run(new form1());         }          public static void setlogintime()         {             if (_logintime != null) return;              lock (padlock)             {                 if (_logintime != null) return;                 _logintime = datetime.utcnow;       //only set when _logintime still null after locking             }         }          public static datetime? getlogintime()         {             return _logintime;         }     } 

in example above, setting login time when still null, additional call setlogintime method nothing.

either party of main() or when user click login button on main form, last method call in login click event handler, call program.setlogintime(). record time static field in program static field.

and in child form, set whatever label use display login time like: lbllogintimestamp.text = program.getlogintime();


Comments

Popular posts from this blog

android - MPAndroidChart - How to add Annotations or images to the chart -

javascript - Add class to another page attribute using URL id - Jquery -

firefox - Where is 'webgl.osmesalib' parameter? -