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
Post a Comment