diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn.Designer.cs b/INT69DC_7C/DialogForms/DialogFormLogOn.Designer.cs index dca5acc..0f71aa5 100644 --- a/INT69DC_7C/DialogForms/DialogFormLogOn.Designer.cs +++ b/INT69DC_7C/DialogForms/DialogFormLogOn.Designer.cs @@ -33,17 +33,13 @@ this.smartKeyboard = new SmartX.SmartKeyboard(); this.textBoxID = new System.Windows.Forms.TextBox(); this.textBoxPassword = new System.Windows.Forms.TextBox(); - this.buttonLogon = new SmartX.SmartButton(); + this.buttonLogOn = new SmartX.SmartButton(); this.buttonCancel = new SmartX.SmartButton(); this.smartButton1 = new SmartX.SmartButton(); this.smartButtonAdmin = new SmartX.SmartButton(); this.smartButtonIUser11 = new SmartX.SmartButton(); this.smartButtonUser22 = new SmartX.SmartButton(); this.smartButtonUser33 = new SmartX.SmartButton(); - this.pictureBoxImage = new System.Windows.Forms.PictureBox(); - this.labelTitlePassword = new SmartX.SmartLabel(); - this.labelTitleID = new SmartX.SmartLabel(); - this.labelTitle = new SmartX.SmartLabel(); ((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit(); this.SuspendLayout(); // @@ -95,61 +91,60 @@ this.smartKeyboard.ThemeStyle = SmartX.SmartKeyboard.KEYBOARDTHEMESTYLE.CUSTOMIZED_LITE; this.smartKeyboard.TopMargin = 5; this.smartKeyboard.OnXKeyClick += new System.EventHandler(this.smartKeyboard_OnXKeyClick); - this.smartKeyboard.Click += new System.EventHandler(this.smartKeyboard_Click); // // textBoxID // - this.textBoxID.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Regular); - this.textBoxID.Location = new System.Drawing.Point(255, 81); + this.textBoxID.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular); + this.textBoxID.Location = new System.Drawing.Point(277, 76); this.textBoxID.MaxLength = 20; this.textBoxID.Name = "textBoxID"; - this.textBoxID.Size = new System.Drawing.Size(248, 34); + this.textBoxID.Size = new System.Drawing.Size(218, 37); this.textBoxID.TabIndex = 2; this.textBoxID.Text = "ABCDEFGHJK"; this.textBoxID.GotFocus += new System.EventHandler(this.textBoxID_GotFocus); // // textBoxPassword // - this.textBoxPassword.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Regular); - this.textBoxPassword.Location = new System.Drawing.Point(255, 126); + this.textBoxPassword.Font = new System.Drawing.Font("Arial", 20F, System.Drawing.FontStyle.Regular); + this.textBoxPassword.Location = new System.Drawing.Point(277, 121); this.textBoxPassword.MaxLength = 20; this.textBoxPassword.Name = "textBoxPassword"; this.textBoxPassword.PasswordChar = '*'; - this.textBoxPassword.Size = new System.Drawing.Size(248, 34); + this.textBoxPassword.Size = new System.Drawing.Size(218, 37); this.textBoxPassword.TabIndex = 5; this.textBoxPassword.Text = "ABCDEFGHJK"; this.textBoxPassword.GotFocus += new System.EventHandler(this.textBoxPassword_GotFocus); // - // buttonLogon + // buttonLogOn // - this.buttonLogon.BackPictureBox = null; - this.buttonLogon.BackPictureBox1 = null; - this.buttonLogon.BackPictureBox2 = null; - this.buttonLogon.ButtonColor = System.Drawing.Color.Gray; - this.buttonLogon.ButtonImageAutoSize = true; - this.buttonLogon.ColorKeySamplePosition = new System.Drawing.Point(0, 0); - this.buttonLogon.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.DisableImage"))); - this.buttonLogon.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.DownImage"))); - this.buttonLogon.GroupID = 0; - this.buttonLogon.InitVisible = true; - this.buttonLogon.Location = new System.Drawing.Point(512, 82); - this.buttonLogon.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; - this.buttonLogon.Name = "buttonLogon"; - this.buttonLogon.NestedClickEventPrevent = false; - this.buttonLogon.OutlinePixel = 1; - this.buttonLogon.RepeatInterval = 200; - this.buttonLogon.RepeatIntervalAccelerate = null; - this.buttonLogon.SafeInterval = 200; - this.buttonLogon.Size = new System.Drawing.Size(75, 75); - this.buttonLogon.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; - this.buttonLogon.TabIndex = 6; - this.buttonLogon.TextColor = System.Drawing.Color.Black; - this.buttonLogon.TextDownColor = System.Drawing.Color.White; - this.buttonLogon.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; - this.buttonLogon.TextLocation = new System.Drawing.Point(0, 0); - this.buttonLogon.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; - this.buttonLogon.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.UpImage"))); - this.buttonLogon.Click += new System.EventHandler(this.buttonLogOn_Click); + this.buttonLogOn.BackPictureBox = null; + this.buttonLogOn.BackPictureBox1 = null; + this.buttonLogOn.BackPictureBox2 = null; + this.buttonLogOn.ButtonColor = System.Drawing.Color.Gray; + this.buttonLogOn.ButtonImageAutoSize = true; + this.buttonLogOn.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonLogOn.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonLogOn.DisableImage"))); + this.buttonLogOn.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonLogOn.DownImage"))); + this.buttonLogOn.GroupID = 0; + this.buttonLogOn.InitVisible = true; + this.buttonLogOn.Location = new System.Drawing.Point(512, 79); + this.buttonLogOn.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonLogOn.Name = "buttonLogOn"; + this.buttonLogOn.NestedClickEventPrevent = false; + this.buttonLogOn.OutlinePixel = 1; + this.buttonLogOn.RepeatInterval = 200; + this.buttonLogOn.RepeatIntervalAccelerate = null; + this.buttonLogOn.SafeInterval = 200; + this.buttonLogOn.Size = new System.Drawing.Size(75, 75); + this.buttonLogOn.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonLogOn.TabIndex = 6; + this.buttonLogOn.TextColor = System.Drawing.Color.Black; + this.buttonLogOn.TextDownColor = System.Drawing.Color.White; + this.buttonLogOn.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonLogOn.TextLocation = new System.Drawing.Point(0, 0); + this.buttonLogOn.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonLogOn.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonLogOn.UpImage"))); + this.buttonLogOn.Click += new System.EventHandler(this.buttonLogOn_Click); // // buttonCancel // @@ -163,7 +158,7 @@ this.buttonCancel.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.DownImage"))); this.buttonCancel.GroupID = 0; this.buttonCancel.InitVisible = true; - this.buttonCancel.Location = new System.Drawing.Point(593, 82); + this.buttonCancel.Location = new System.Drawing.Point(593, 79); this.buttonCancel.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; this.buttonCancel.Name = "buttonCancel"; this.buttonCancel.NestedClickEventPrevent = false; @@ -342,96 +337,22 @@ this.smartButtonUser33.UpImage = null; this.smartButtonUser33.Click += new System.EventHandler(this.smartButtonUser33_Click); // - // pictureBoxImage - // - this.pictureBoxImage.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxImage.Image"))); - this.pictureBoxImage.Location = new System.Drawing.Point(40, 68); - this.pictureBoxImage.Name = "pictureBoxImage"; - this.pictureBoxImage.Size = new System.Drawing.Size(66, 72); - // - // labelTitlePassword - // - this.labelTitlePassword.BackColor = System.Drawing.Color.White; - this.labelTitlePassword.BackPictureBox = null; - this.labelTitlePassword.BackPictureBox1 = null; - this.labelTitlePassword.BackPictureBox2 = null; - this.labelTitlePassword.BorderColor = System.Drawing.Color.Black; - this.labelTitlePassword.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitlePassword.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); - this.labelTitlePassword.ForeColor = System.Drawing.Color.Gray; - this.labelTitlePassword.InitVisible = true; - this.labelTitlePassword.LineSpacing = 0F; - this.labelTitlePassword.Location = new System.Drawing.Point(129, 126); - this.labelTitlePassword.Name = "labelTitlePassword"; - this.labelTitlePassword.Size = new System.Drawing.Size(120, 34); - this.labelTitlePassword.TabIndex = 184; - this.labelTitlePassword.Text = "비밀번호"; - this.labelTitlePassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; - this.labelTitlePassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; - this.labelTitlePassword.Wordwrap = false; - // - // labelTitleID - // - this.labelTitleID.BackColor = System.Drawing.Color.White; - this.labelTitleID.BackPictureBox = null; - this.labelTitleID.BackPictureBox1 = null; - this.labelTitleID.BackPictureBox2 = null; - this.labelTitleID.BorderColor = System.Drawing.Color.Black; - this.labelTitleID.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleID.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); - this.labelTitleID.ForeColor = System.Drawing.Color.Gray; - this.labelTitleID.InitVisible = true; - this.labelTitleID.LineSpacing = 0F; - this.labelTitleID.Location = new System.Drawing.Point(129, 81); - this.labelTitleID.Name = "labelTitleID"; - this.labelTitleID.Size = new System.Drawing.Size(120, 34); - this.labelTitleID.TabIndex = 183; - this.labelTitleID.Text = "ID"; - this.labelTitleID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; - this.labelTitleID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; - this.labelTitleID.Wordwrap = false; - // - // labelTitle - // - this.labelTitle.BackColor = System.Drawing.Color.White; - this.labelTitle.BackPictureBox = null; - this.labelTitle.BackPictureBox1 = null; - this.labelTitle.BackPictureBox2 = null; - this.labelTitle.BorderColor = System.Drawing.Color.Black; - this.labelTitle.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitle.Font = new System.Drawing.Font("새굴림", 20F, System.Drawing.FontStyle.Bold); - this.labelTitle.ForeColor = System.Drawing.Color.Gray; - this.labelTitle.InitVisible = true; - this.labelTitle.LineSpacing = 0F; - this.labelTitle.Location = new System.Drawing.Point(129, 25); - this.labelTitle.Name = "labelTitle"; - this.labelTitle.Size = new System.Drawing.Size(546, 50); - this.labelTitle.TabIndex = 182; - this.labelTitle.Text = "로그인"; - this.labelTitle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; - this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; - this.labelTitle.Wordwrap = false; - // // DialogFormLogOn // this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; this.ClientSize = new System.Drawing.Size(710, 470); this.ControlBox = false; - this.Controls.Add(this.pictureBoxImage); - this.Controls.Add(this.labelTitlePassword); - this.Controls.Add(this.labelTitleID); this.Controls.Add(this.smartButtonUser33); this.Controls.Add(this.smartButtonUser22); this.Controls.Add(this.smartButtonIUser11); this.Controls.Add(this.smartButtonAdmin); this.Controls.Add(this.smartButton1); this.Controls.Add(this.buttonCancel); - this.Controls.Add(this.buttonLogon); + this.Controls.Add(this.buttonLogOn); this.Controls.Add(this.textBoxPassword); this.Controls.Add(this.textBoxID); this.Controls.Add(this.smartKeyboard); - this.Controls.Add(this.labelTitle); this.Controls.Add(this.smartForm1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Name = "DialogFormLogOn"; @@ -447,16 +368,12 @@ private SmartX.SmartKeyboard smartKeyboard; private System.Windows.Forms.TextBox textBoxID; private System.Windows.Forms.TextBox textBoxPassword; - private SmartX.SmartButton buttonLogon; + private SmartX.SmartButton buttonLogOn; private SmartX.SmartButton buttonCancel; private SmartX.SmartButton smartButton1; private SmartX.SmartButton smartButtonAdmin; private SmartX.SmartButton smartButtonIUser11; private SmartX.SmartButton smartButtonUser22; private SmartX.SmartButton smartButtonUser33; - private System.Windows.Forms.PictureBox pictureBoxImage; - private SmartX.SmartLabel labelTitlePassword; - private SmartX.SmartLabel labelTitleID; - private SmartX.SmartLabel labelTitle; } } \ No newline at end of file diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn.cs b/INT69DC_7C/DialogForms/DialogFormLogOn.cs index f1359a4..0018177 100644 --- a/INT69DC_7C/DialogForms/DialogFormLogOn.cs +++ b/INT69DC_7C/DialogForms/DialogFormLogOn.cs @@ -10,47 +10,25 @@ using System.Windows.Forms; using INT69DC_ImageDll; using INT69DC_7C.Forms; using INT69DC_7C.Part11_UserManager; -using System.Text.RegularExpressions; namespace INT69DC_7C.DialogForms { public partial class DialogFormLogOn : Form { #region Field - private bool IsPart11; - - // false : 패스워드 변경, true : 로그인 - private bool IsLogin; - private string ID; - private string Password; - - UserManager.UserMgr_user_info_t UserInfo = new UserManager.UserMgr_user_info_t(); - private FormMain m_ParentForm; #endregion #region Constructor - public DialogFormLogOn(FormMain parent, DataStore.LanguageID language, bool isPart11) + public DialogFormLogOn(FormMain parent) { InitializeComponent(); this.ParentForm = parent; - this.IsPart11 = isPart11; - this.IsLogin = true; - this.InitializeDesignLogOn(language); - this.DefaultSettingLogOn(); - } - public DialogFormLogOn(FormMain parent, DataStore.LanguageID language, string id) - { - InitializeComponent(); - - this.ParentForm = parent; - this.ID = id; - this.IsLogin = false; - - this.InitializeDesignChangePassword(language); - this.DefaultSettingChangePassword(); + this.InitializeDesign(); + this.InitializeControl(); + this.DefaultSetting(); } #endregion @@ -63,304 +41,68 @@ namespace INT69DC_7C.DialogForms #endregion #region Method - public void InitializeDesignLogOn(DataStore.LanguageID language) + private void InitializeDesign() { ImageDll images = new ImageDll(); - this.pictureBoxImage.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.LoginImage1)); - - if (language == DataStore.LanguageID.English) + if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English) { - this.labelTitle.Text = "User Login"; - this.labelTitleID.Text = "ID"; - this.labelTitlePassword.Text = "Password"; - - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginUp)); + this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable)); + this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown)); + this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp)); + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainCancelUp)); } - else if (language == DataStore.LanguageID.Chinese) + else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese) { - this.labelTitle.Text = "登錄"; - this.labelTitleID.Text = "用户名"; - this.labelTitlePassword.Text = "密码"; + this.smartForm1.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackgroundUserLogin)); - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginUp)); + this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDisable)); + this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginDown)); + this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginUp)); + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainCancelUp)); } - else if (language == DataStore.LanguageID.Czech) + else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech) { + this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable)); + this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown)); + this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp)); + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeMainCancelUp)); + } + else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German) + { + this.buttonLogOn.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDisable)); + this.buttonLogOn.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginDown)); + this.buttonLogOn.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginUp)); + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerMainCancelUp)); } else { - this.labelTitle.Text = "로그인"; - this.labelTitleID.Text = "ID"; - this.labelTitlePassword.Text = "비밀번호"; - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginUp)); } } - private void DefaultSettingLogOn() + private void InitializeControl() { this.textBoxID.Text = ""; this.textBoxPassword.Text = ""; - this.Location = new Point(45, 63); + this.Location = new Point(157, 150); + //this.smartKeyboard.HanYoungKeyToggle(); + this.smartKeyboard.HanYoungKeyDisable = true; this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; this.smartKeyboard.Show(); } - private void Login() + private void DefaultSetting() { - // Check ID - if (this.textBoxID.Text.Length < 6) - { - // ID : 6~20자 입력하세요 - DialogFormMessage msg = new DialogFormMessage(null, 3, this.ParentForm.SystemConfig.Language); - msg.ShowDialog(); - return; - } - // Check Password - if (this.textBoxPassword.Text.Length < 6) - { - // PASSWORD : 6~20자 입력하세요 - DialogFormMessage msg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language); - msg.ShowDialog(); - - return; - } - - UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.textBoxPassword.Text, ref this.UserInfo); - - if (this.UserInfo.status == 0) - { - #region 로그인 성공 - try - { - string sValue = ""; - - this.SuccessLogin(this.UserInfo); - - sValue = this.ParentForm.ChildFormMainDisplay.DisplayExpireOfPassword(this.ParentForm.SystemConfig.CurrentUser.Group); - if (sValue != "-") - { - int intExpireDate = int.Parse(sValue); - if (intExpireDate >= -10) - { - int extract = int.Parse(Regex.Replace(sValue, @"\D", "")); - DialogFormYesNo df = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 2, extract.ToString()); - df.BringToFront(); - if (df.ShowDialog() == DialogResult.Yes) - { - DialogFormLogOn changePW = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig.Language, this.textBoxID.Text); - if (changePW.ShowDialog() == DialogResult.OK) - { - UserManager.UserManager_UserLockRelease(this.textBoxID.Text, false, true); - UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.SystemConfig.CurrentUser.Password, ref this.UserInfo); - - this.SuccessLogin(this.UserInfo); - } - } - } - } - } - catch (Exception ex) - { - FormMain.Exception(ex); - - this.DialogResult = DialogResult.Cancel; - this.Close(); - - return; - } - - this.DialogResult = DialogResult.OK; - this.Close(); - #endregion - } - else - { - if (this.UserInfo.status == 15) // USER_MGR_STATUS_PW_PASSWORD_LOCK - { - this.Close(); - - DialogFormLogOn changePW = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig.Language, this.textBoxID.Text); - if (changePW.ShowDialog() == DialogResult.OK) - { - UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.SystemConfig.CurrentUser.Password, ref this.UserInfo); - - this.SuccessLogin(this.UserInfo); - - this.DialogResult = DialogResult.OK; - this.Close(); - } - } - else - { - DialogFormMessage myMsg = new DialogFormMessage(null, this.UserInfo.status, this.ParentForm.SystemConfig.Language); - myMsg.ShowDialog(); - } - } - } - private void SuccessLogin(UserManager.UserMgr_user_info_t user) - { - if (user.active_level == 1) - this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1; - else if (user.active_level == 2) - this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2; - else if (user.active_level == 3) - this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3; - else if (user.active_level == 9) - this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin; - else if (user.active_level == 10) - this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer; - this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = user.active_level; - - this.ParentForm.SystemConfig.CurrentUser.ID = user.user_id; - this.ParentForm.SystemConfig.CurrentUser.Password = user.user_pw; - - this.ParentForm.SystemConfig.CurrentUser.ExpireAccount = user.expire_period_account; - this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = user.expire_period_pw; - - DateTime time = DateTime.ParseExact(user.register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.ParentForm.SystemConfig.CurrentUser.DateRegister = time; - time = DateTime.ParseExact(user.login_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.ParentForm.SystemConfig.CurrentUser.DateLogin = time; - - if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin - || this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer) - { - this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = DateTime.Now; - this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = DateTime.Now; - } - else - { - time = DateTime.ParseExact(user.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = time; - time = DateTime.ParseExact(user.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = time; - } - - this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = user.flock_status_account == 0 ? false : true; - this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = user.flock_status_password == 0 ? false : true; - - if (this.ParentForm.SystemConfig.IsPart11 == true) - this.ParentForm.SystemConfig.CurrentUser.IsAdmin = user.fadmin == 0 ? false : true; - else - this.ParentForm.SystemConfig.CurrentUser.IsAdmin = true; - } - - public void InitializeDesignChangePassword(DataStore.LanguageID language) - { - ImageDll images = new ImageDll(); - - this.pictureBoxImage.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.LoginImage2)); - - if (language == DataStore.LanguageID.English) - { - this.labelTitle.Text = "Change Password"; - this.labelTitleID.Text = "New"; - this.labelTitlePassword.Text = "Verify"; - - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeUp)); - } - else if (language == DataStore.LanguageID.Chinese) - { - this.labelTitle.Text = "更改密码"; - this.labelTitleID.Text = "新的"; - this.labelTitlePassword.Text = "核实"; - - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeUp)); - } - else if (language == DataStore.LanguageID.Czech) - { - } - else - { - this.labelTitle.Text = "비밀번호 변경"; - this.labelTitleID.Text = "새 비밀번호"; - this.labelTitlePassword.Text = "비밀번호 확인"; - - this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDisable)); - this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDown)); - this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelUp)); - this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeDisable)); - this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeDown)); - this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeUp)); - } - } - private void DefaultSettingChangePassword() - { - this.Location = new Point(0, 65); - - this.textBoxID.Text = ""; - this.textBoxPassword.Text = ""; - - this.textBoxID.PasswordChar = '*'; - this.textBoxPassword.PasswordChar = '*'; - - this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; - this.smartKeyboard.Show(); - } - private void SaveChangePassword() - { - string detail = ""; - - // Check Password - if (this.textBoxPassword.Text.Length < 6) - { - // PASSWORD : 6~20자 입력하세요 - DialogFormMessage msg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language); - msg.ShowDialog(); - - return; - } - - try - { - if (this.textBoxID.Text != this.textBoxPassword.Text) - { - // 비밀번호가 동일하지 않습니다 - DialogFormMessage myMsg = new DialogFormMessage(null, 17, this.ParentForm.SystemConfig.Language); - myMsg.ShowDialog(); - } - else - { - UserManager.UserManager_UserModifyPW(this.ID, this.textBoxPassword.Text); - this.ParentForm.SystemConfig.CurrentUser.Password = this.textBoxPassword.Text; - - this.DialogResult = DialogResult.OK; - this.Close(); - } - } - catch - { - this.DialogResult = DialogResult.Cancel; - this.Close(); - } } #endregion @@ -368,40 +110,108 @@ namespace INT69DC_7C.DialogForms private void buttonLogOn_Click(object sender, EventArgs e) { // Automatic Logout Reset - if (this.IsPart11 == true) - this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); + this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); - if (this.IsLogin == true) - this.Login(); + UserManager.UserMgr_user_info_t userInfo = new UserManager.UserMgr_user_info_t(); + + if (this.textBoxID.Text == "") + { + // ID : 6~20자 입력 하세요 + DialogFormMessage myMsg = new DialogFormMessage(null, 3, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + + return; + } + if (this.textBoxPassword.Text == "") + { + // PASSWORD : 6~20자 입력 하세요 + DialogFormMessage myMsg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + + return; + } + + UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.textBoxPassword.Text, ref userInfo); + + if (userInfo.status == 0 ) + { + //MessageBox.Show("로그인 성공"); + + #region 로그인 성공 + if (userInfo.active_level == 1) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1; + else if (userInfo.active_level == 2) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2; + else if (userInfo.active_level == 3) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3; + else if (userInfo.active_level == 9) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin; + else if (userInfo.active_level == 10) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer; + + this.ParentForm.SystemConfig.CurrentUser.ID = userInfo.user_id; + this.ParentForm.SystemConfig.CurrentUser.Password = userInfo.user_pw; + + this.ParentForm.SystemConfig.CurrentUser.ExpireAccount = userInfo.expire_period_account; + this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = userInfo.expire_period_pw; + + DateTime time = DateTime.ParseExact(userInfo.register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateRegister = time; + time = DateTime.ParseExact(userInfo.login_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateLogin = time; + + if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin + || this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer) + { + this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = DateTime.Now; + this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = DateTime.Now; + } + else + { + time = DateTime.ParseExact(userInfo.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = time; + time = DateTime.ParseExact(userInfo.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = time; + } + + this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = userInfo.flock_status_account == 0 ? false : true; + this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = userInfo.flock_status_password == 0 ? false : true; + + this.ParentForm.SystemConfig.CurrentUser.IsAdmin = userInfo.fadmin == 0 ? false : true; + + this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = userInfo.active_level; + #endregion + + this.DialogResult = DialogResult.OK; + this.Close(); + } else - this.SaveChangePassword(); + { + DialogFormMessage myMsg = new DialogFormMessage(null, userInfo.status, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + + // 비밀번호 만료 시 + if (userInfo.status == 15) + { + this.DialogResult = DialogResult.Abort; + this.Close(); + } + } } private void buttonCancel_Click(object sender, EventArgs e) { - // Automatic Logout Reset - if (this.IsPart11 == true) - this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); - this.DialogResult = DialogResult.Cancel; this.Close(); } private void textBoxID_GotFocus(object sender, EventArgs e) { - // Automatic Logout Reset - if (this.IsPart11 == true) - this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); - this.smartKeyboard.TargetInputObject = this.textBoxID; this.textBoxID.Select(this.textBoxID.Text.Length, 0); } private void textBoxPassword_GotFocus(object sender, EventArgs e) { - // Automatic Logout Reset - if (this.IsPart11 == true) - this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); - this.smartKeyboard.TargetInputObject = this.textBoxPassword; this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0); @@ -409,12 +219,8 @@ namespace INT69DC_7C.DialogForms private void smartKeyboard_OnXKeyClick(object sender, EventArgs e) { - //this.smartKeyboard.Show(); - } - private void smartKeyboard_Click(object sender, EventArgs e) - { - - } + this.smartKeyboard.Show(); + } #endregion private void smartButton1_Click(object sender, EventArgs e) diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn.resx b/INT69DC_7C/DialogForms/DialogFormLogOn.resx index 18d93a6..4bccdf8 100644 --- a/INT69DC_7C/DialogForms/DialogFormLogOn.resx +++ b/INT69DC_7C/DialogForms/DialogFormLogOn.resx @@ -165,133 +165,231 @@ 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 - IkmSNPvt3Llz94+fbd68uWzYsKGsXr26rFixYvcOqu2jaRS3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb - 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 + inIAAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp @@ -390,7 +488,7 @@ 5fwR+R+1E4HZ5iT/aAAAAABJRU5ErkJggg== - + iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp @@ -505,7 +603,7 @@ WuM/U89GVOSfyP8BdoPWvU1dpd0AAAAASUVORK5CYII= - + iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp @@ -956,94 +1054,6 @@ w/1RM/dmzfg4cc2YUif/qwh/hF976Z/w0138cfGrfIQmFqO10yKFEoFk/zVJ+S9f6xEm/qvazMwManSd +LygFv5x+fB7mI9/fJr2QfLRZ+nSx4D4AtwurkeToVv6L1JvPaLWXsD/A4kVdNN6RlKdAAAAAElFTkSu QmCC - - - - - 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 - t8VwAAAAAElFTkSuQmCC diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn1.Designer.cs b/INT69DC_7C/DialogForms/DialogFormLogOn1.Designer.cs new file mode 100644 index 0000000..c4f50e9 --- /dev/null +++ b/INT69DC_7C/DialogForms/DialogFormLogOn1.Designer.cs @@ -0,0 +1,462 @@ +namespace INT69DC_7C.DialogForms +{ + partial class DialogFormLogOn1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DialogFormLogOn1)); + this.smartForm1 = new SmartX.SmartForm(); + this.smartKeyboard = new SmartX.SmartKeyboard(); + this.textBoxID = new System.Windows.Forms.TextBox(); + this.textBoxPassword = new System.Windows.Forms.TextBox(); + this.buttonLogon = new SmartX.SmartButton(); + this.buttonCancel = new SmartX.SmartButton(); + this.smartButton1 = new SmartX.SmartButton(); + this.smartButtonAdmin = new SmartX.SmartButton(); + this.smartButtonIUser11 = new SmartX.SmartButton(); + this.smartButtonUser22 = new SmartX.SmartButton(); + this.smartButtonUser33 = new SmartX.SmartButton(); + this.pictureBoxImage = new System.Windows.Forms.PictureBox(); + this.labelTitlePassword = new SmartX.SmartLabel(); + this.labelTitleID = new SmartX.SmartLabel(); + this.labelTitle = new SmartX.SmartLabel(); + ((System.ComponentModel.ISupportInitialize)(this.smartForm1)).BeginInit(); + this.SuspendLayout(); + // + // smartForm1 + // + this.smartForm1.CenterLocation = false; + this.smartForm1.Image = ((System.Drawing.Image)(resources.GetObject("smartForm1.Image"))); + this.smartForm1.LCDDirection = SmartX.SmartForm.LCDDIRECTIONS.HORIZONTAL; + this.smartForm1.LCDSize = SmartX.SmartForm.LCDRESOLUTION.CUSTOMIZING; + this.smartForm1.Location = new System.Drawing.Point(0, 0); + this.smartForm1.MainForm = null; + this.smartForm1.Mode = SmartX.SmartForm.RUNMODE.RUNTIME; + this.smartForm1.MouseCursor = SmartX.SmartForm.OnOff.OFF; + this.smartForm1.Name = "smartForm1"; + this.smartForm1.Size = new System.Drawing.Size(710, 470); + this.smartForm1.SpecialFunctionClickPointSize = 100; + this.smartForm1.SuspendLayoutInterval = 1; + // + // smartKeyboard + // + this.smartKeyboard.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30))))); + this.smartKeyboard.ControlKeyDisable = false; + this.smartKeyboard.DesignMinimize = false; + this.smartKeyboard.FontColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.smartKeyboard.HanYoungKeyDisable = true; + this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; + this.smartKeyboard.KeyFillColor = System.Drawing.Color.Black; + this.smartKeyboard.KeyOutLineColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(255)))), ((int)(((byte)(192))))); + this.smartKeyboard.KeyOutLineWidth = 1; + this.smartKeyboard.KeyPressImage1 = null; + this.smartKeyboard.KeyPressImage2 = null; + this.smartKeyboard.KeyPressImage3 = null; + this.smartKeyboard.KeyUpImage1 = null; + this.smartKeyboard.KeyUpImage2 = null; + this.smartKeyboard.KeyUpImage3 = null; + this.smartKeyboard.LeftMargin = 5; + this.smartKeyboard.Location = new System.Drawing.Point(12, 191); + this.smartKeyboard.Name = "smartKeyboard"; + this.smartKeyboard.PressFontColor = System.Drawing.Color.Olive; + this.smartKeyboard.PressKeyFillColor = System.Drawing.Color.FromArgb(((int)(((byte)(224)))), ((int)(((byte)(224)))), ((int)(((byte)(224))))); + this.smartKeyboard.PressKeyOutLineColor = System.Drawing.Color.Green; + this.smartKeyboard.RoundedCorners = true; + this.smartKeyboard.SetBackimage = null; + this.smartKeyboard.Size = new System.Drawing.Size(692, 276); + this.smartKeyboard.TabIndex = 10; + this.smartKeyboard.TABKeyDisable = false; + this.smartKeyboard.TargetInputObject = null; + this.smartKeyboard.Text = "smartKeyboard1"; + this.smartKeyboard.ThemeStyle = SmartX.SmartKeyboard.KEYBOARDTHEMESTYLE.CUSTOMIZED_LITE; + this.smartKeyboard.TopMargin = 5; + this.smartKeyboard.OnXKeyClick += new System.EventHandler(this.smartKeyboard_OnXKeyClick); + this.smartKeyboard.Click += new System.EventHandler(this.smartKeyboard_Click); + // + // textBoxID + // + this.textBoxID.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Regular); + this.textBoxID.Location = new System.Drawing.Point(255, 81); + this.textBoxID.MaxLength = 20; + this.textBoxID.Name = "textBoxID"; + this.textBoxID.Size = new System.Drawing.Size(248, 34); + this.textBoxID.TabIndex = 2; + this.textBoxID.Text = "ABCDEFGHJK"; + this.textBoxID.GotFocus += new System.EventHandler(this.textBoxID_GotFocus); + // + // textBoxPassword + // + this.textBoxPassword.Font = new System.Drawing.Font("Arial", 18F, System.Drawing.FontStyle.Regular); + this.textBoxPassword.Location = new System.Drawing.Point(255, 126); + this.textBoxPassword.MaxLength = 20; + this.textBoxPassword.Name = "textBoxPassword"; + this.textBoxPassword.PasswordChar = '*'; + this.textBoxPassword.Size = new System.Drawing.Size(248, 34); + this.textBoxPassword.TabIndex = 5; + this.textBoxPassword.Text = "ABCDEFGHJK"; + this.textBoxPassword.GotFocus += new System.EventHandler(this.textBoxPassword_GotFocus); + // + // buttonLogon + // + this.buttonLogon.BackPictureBox = null; + this.buttonLogon.BackPictureBox1 = null; + this.buttonLogon.BackPictureBox2 = null; + this.buttonLogon.ButtonColor = System.Drawing.Color.Gray; + this.buttonLogon.ButtonImageAutoSize = true; + this.buttonLogon.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonLogon.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.DisableImage"))); + this.buttonLogon.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.DownImage"))); + this.buttonLogon.GroupID = 0; + this.buttonLogon.InitVisible = true; + this.buttonLogon.Location = new System.Drawing.Point(512, 82); + this.buttonLogon.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonLogon.Name = "buttonLogon"; + this.buttonLogon.NestedClickEventPrevent = false; + this.buttonLogon.OutlinePixel = 1; + this.buttonLogon.RepeatInterval = 200; + this.buttonLogon.RepeatIntervalAccelerate = null; + this.buttonLogon.SafeInterval = 200; + this.buttonLogon.Size = new System.Drawing.Size(75, 75); + this.buttonLogon.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonLogon.TabIndex = 6; + this.buttonLogon.TextColor = System.Drawing.Color.Black; + this.buttonLogon.TextDownColor = System.Drawing.Color.White; + this.buttonLogon.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonLogon.TextLocation = new System.Drawing.Point(0, 0); + this.buttonLogon.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonLogon.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonLogon.UpImage"))); + this.buttonLogon.Click += new System.EventHandler(this.buttonLogOn_Click); + // + // buttonCancel + // + this.buttonCancel.BackPictureBox = null; + this.buttonCancel.BackPictureBox1 = null; + this.buttonCancel.BackPictureBox2 = null; + this.buttonCancel.ButtonColor = System.Drawing.Color.Gray; + this.buttonCancel.ButtonImageAutoSize = true; + this.buttonCancel.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.buttonCancel.DisableImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.DisableImage"))); + this.buttonCancel.DownImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.DownImage"))); + this.buttonCancel.GroupID = 0; + this.buttonCancel.InitVisible = true; + this.buttonCancel.Location = new System.Drawing.Point(593, 82); + this.buttonCancel.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.buttonCancel.Name = "buttonCancel"; + this.buttonCancel.NestedClickEventPrevent = false; + this.buttonCancel.OutlinePixel = 1; + this.buttonCancel.RepeatInterval = 200; + this.buttonCancel.RepeatIntervalAccelerate = null; + this.buttonCancel.SafeInterval = 200; + this.buttonCancel.Size = new System.Drawing.Size(75, 75); + this.buttonCancel.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.buttonCancel.TabIndex = 7; + this.buttonCancel.TextColor = System.Drawing.Color.Black; + this.buttonCancel.TextDownColor = System.Drawing.Color.White; + this.buttonCancel.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.buttonCancel.TextLocation = new System.Drawing.Point(0, 0); + this.buttonCancel.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.buttonCancel.UpImage = ((System.Drawing.Image)(resources.GetObject("buttonCancel.UpImage"))); + this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click); + // + // smartButton1 + // + this.smartButton1.BackPictureBox = null; + this.smartButton1.BackPictureBox1 = null; + this.smartButton1.BackPictureBox2 = null; + this.smartButton1.ButtonColor = System.Drawing.Color.Gray; + this.smartButton1.ButtonImageAutoSize = true; + this.smartButton1.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.smartButton1.DisableImage = null; + this.smartButton1.DownImage = null; + this.smartButton1.GroupID = 0; + this.smartButton1.InitVisible = true; + this.smartButton1.Location = new System.Drawing.Point(512, 30); + this.smartButton1.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.smartButton1.Name = "smartButton1"; + this.smartButton1.NestedClickEventPrevent = false; + this.smartButton1.OutlinePixel = 1; + this.smartButton1.RepeatInterval = 200; + this.smartButton1.RepeatIntervalAccelerate = null; + this.smartButton1.SafeInterval = 200; + this.smartButton1.Size = new System.Drawing.Size(75, 43); + this.smartButton1.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.smartButton1.TabIndex = 12; + this.smartButton1.Text = "Intech"; + this.smartButton1.TextColor = System.Drawing.Color.Black; + this.smartButton1.TextDownColor = System.Drawing.Color.White; + this.smartButton1.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.smartButton1.TextLocation = new System.Drawing.Point(0, 0); + this.smartButton1.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.smartButton1.UpImage = null; + this.smartButton1.Click += new System.EventHandler(this.smartButton1_Click); + // + // smartButtonAdmin + // + this.smartButtonAdmin.BackPictureBox = null; + this.smartButtonAdmin.BackPictureBox1 = null; + this.smartButtonAdmin.BackPictureBox2 = null; + this.smartButtonAdmin.ButtonColor = System.Drawing.Color.Gray; + this.smartButtonAdmin.ButtonImageAutoSize = true; + this.smartButtonAdmin.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.smartButtonAdmin.DisableImage = null; + this.smartButtonAdmin.DownImage = null; + this.smartButtonAdmin.GroupID = 0; + this.smartButtonAdmin.InitVisible = true; + this.smartButtonAdmin.Location = new System.Drawing.Point(593, 30); + this.smartButtonAdmin.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.smartButtonAdmin.Name = "smartButtonAdmin"; + this.smartButtonAdmin.NestedClickEventPrevent = false; + this.smartButtonAdmin.OutlinePixel = 1; + this.smartButtonAdmin.RepeatInterval = 200; + this.smartButtonAdmin.RepeatIntervalAccelerate = null; + this.smartButtonAdmin.SafeInterval = 200; + this.smartButtonAdmin.Size = new System.Drawing.Size(75, 43); + this.smartButtonAdmin.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.smartButtonAdmin.TabIndex = 14; + this.smartButtonAdmin.Text = "admin"; + this.smartButtonAdmin.TextColor = System.Drawing.Color.Black; + this.smartButtonAdmin.TextDownColor = System.Drawing.Color.White; + this.smartButtonAdmin.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.smartButtonAdmin.TextLocation = new System.Drawing.Point(0, 0); + this.smartButtonAdmin.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.smartButtonAdmin.UpImage = null; + this.smartButtonAdmin.Click += new System.EventHandler(this.smartButtonAdmin_Click); + // + // smartButtonIUser11 + // + this.smartButtonIUser11.BackPictureBox = null; + this.smartButtonIUser11.BackPictureBox1 = null; + this.smartButtonIUser11.BackPictureBox2 = null; + this.smartButtonIUser11.ButtonColor = System.Drawing.Color.Gray; + this.smartButtonIUser11.ButtonImageAutoSize = true; + this.smartButtonIUser11.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.smartButtonIUser11.DisableImage = null; + this.smartButtonIUser11.DownImage = null; + this.smartButtonIUser11.GroupID = 0; + this.smartButtonIUser11.InitVisible = true; + this.smartButtonIUser11.Location = new System.Drawing.Point(173, 30); + this.smartButtonIUser11.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.smartButtonIUser11.Name = "smartButtonIUser11"; + this.smartButtonIUser11.NestedClickEventPrevent = false; + this.smartButtonIUser11.OutlinePixel = 1; + this.smartButtonIUser11.RepeatInterval = 200; + this.smartButtonIUser11.RepeatIntervalAccelerate = null; + this.smartButtonIUser11.SafeInterval = 200; + this.smartButtonIUser11.Size = new System.Drawing.Size(75, 43); + this.smartButtonIUser11.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.smartButtonIUser11.TabIndex = 15; + this.smartButtonIUser11.Text = "user11"; + this.smartButtonIUser11.TextColor = System.Drawing.Color.Black; + this.smartButtonIUser11.TextDownColor = System.Drawing.Color.White; + this.smartButtonIUser11.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.smartButtonIUser11.TextLocation = new System.Drawing.Point(0, 0); + this.smartButtonIUser11.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.smartButtonIUser11.UpImage = null; + this.smartButtonIUser11.Click += new System.EventHandler(this.smartButtonIUser11_Click); + // + // smartButtonUser22 + // + this.smartButtonUser22.BackPictureBox = null; + this.smartButtonUser22.BackPictureBox1 = null; + this.smartButtonUser22.BackPictureBox2 = null; + this.smartButtonUser22.ButtonColor = System.Drawing.Color.Gray; + this.smartButtonUser22.ButtonImageAutoSize = true; + this.smartButtonUser22.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.smartButtonUser22.DisableImage = null; + this.smartButtonUser22.DownImage = null; + this.smartButtonUser22.GroupID = 0; + this.smartButtonUser22.InitVisible = true; + this.smartButtonUser22.Location = new System.Drawing.Point(254, 30); + this.smartButtonUser22.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.smartButtonUser22.Name = "smartButtonUser22"; + this.smartButtonUser22.NestedClickEventPrevent = false; + this.smartButtonUser22.OutlinePixel = 1; + this.smartButtonUser22.RepeatInterval = 200; + this.smartButtonUser22.RepeatIntervalAccelerate = null; + this.smartButtonUser22.SafeInterval = 200; + this.smartButtonUser22.Size = new System.Drawing.Size(75, 43); + this.smartButtonUser22.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.smartButtonUser22.TabIndex = 16; + this.smartButtonUser22.Text = "user22"; + this.smartButtonUser22.TextColor = System.Drawing.Color.Black; + this.smartButtonUser22.TextDownColor = System.Drawing.Color.White; + this.smartButtonUser22.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.smartButtonUser22.TextLocation = new System.Drawing.Point(0, 0); + this.smartButtonUser22.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.smartButtonUser22.UpImage = null; + this.smartButtonUser22.Click += new System.EventHandler(this.smartButtonUser22_Click); + // + // smartButtonUser33 + // + this.smartButtonUser33.BackPictureBox = null; + this.smartButtonUser33.BackPictureBox1 = null; + this.smartButtonUser33.BackPictureBox2 = null; + this.smartButtonUser33.ButtonColor = System.Drawing.Color.Gray; + this.smartButtonUser33.ButtonImageAutoSize = true; + this.smartButtonUser33.ColorKeySamplePosition = new System.Drawing.Point(0, 0); + this.smartButtonUser33.DisableImage = null; + this.smartButtonUser33.DownImage = null; + this.smartButtonUser33.GroupID = 0; + this.smartButtonUser33.InitVisible = true; + this.smartButtonUser33.Location = new System.Drawing.Point(335, 30); + this.smartButtonUser33.Mode = SmartX.SmartButton.BUTTONMODE.NORMAL; + this.smartButtonUser33.Name = "smartButtonUser33"; + this.smartButtonUser33.NestedClickEventPrevent = false; + this.smartButtonUser33.OutlinePixel = 1; + this.smartButtonUser33.RepeatInterval = 200; + this.smartButtonUser33.RepeatIntervalAccelerate = null; + this.smartButtonUser33.SafeInterval = 200; + this.smartButtonUser33.Size = new System.Drawing.Size(75, 43); + this.smartButtonUser33.SpecialFunction = SmartX.SmartButton.SPECIALFUNC.NONE; + this.smartButtonUser33.TabIndex = 17; + this.smartButtonUser33.Text = "user33"; + this.smartButtonUser33.TextColor = System.Drawing.Color.Black; + this.smartButtonUser33.TextDownColor = System.Drawing.Color.White; + this.smartButtonUser33.TextHAlign = SmartX.SmartButton.TextHorAlign.Middle; + this.smartButtonUser33.TextLocation = new System.Drawing.Point(0, 0); + this.smartButtonUser33.TextVAlign = SmartX.SmartButton.TextVerAlign.Middle; + this.smartButtonUser33.UpImage = null; + this.smartButtonUser33.Click += new System.EventHandler(this.smartButtonUser33_Click); + // + // pictureBoxImage + // + this.pictureBoxImage.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxImage.Image"))); + this.pictureBoxImage.Location = new System.Drawing.Point(40, 68); + this.pictureBoxImage.Name = "pictureBoxImage"; + this.pictureBoxImage.Size = new System.Drawing.Size(66, 72); + // + // labelTitlePassword + // + this.labelTitlePassword.BackColor = System.Drawing.Color.White; + this.labelTitlePassword.BackPictureBox = null; + this.labelTitlePassword.BackPictureBox1 = null; + this.labelTitlePassword.BackPictureBox2 = null; + this.labelTitlePassword.BorderColor = System.Drawing.Color.Black; + this.labelTitlePassword.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelTitlePassword.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitlePassword.ForeColor = System.Drawing.Color.Gray; + this.labelTitlePassword.InitVisible = true; + this.labelTitlePassword.LineSpacing = 0F; + this.labelTitlePassword.Location = new System.Drawing.Point(129, 126); + this.labelTitlePassword.Name = "labelTitlePassword"; + this.labelTitlePassword.Size = new System.Drawing.Size(120, 34); + this.labelTitlePassword.TabIndex = 184; + this.labelTitlePassword.Text = "비밀번호"; + this.labelTitlePassword.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; + this.labelTitlePassword.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelTitlePassword.Wordwrap = false; + // + // labelTitleID + // + this.labelTitleID.BackColor = System.Drawing.Color.White; + this.labelTitleID.BackPictureBox = null; + this.labelTitleID.BackPictureBox1 = null; + this.labelTitleID.BackPictureBox2 = null; + this.labelTitleID.BorderColor = System.Drawing.Color.Black; + this.labelTitleID.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelTitleID.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleID.ForeColor = System.Drawing.Color.Gray; + this.labelTitleID.InitVisible = true; + this.labelTitleID.LineSpacing = 0F; + this.labelTitleID.Location = new System.Drawing.Point(129, 81); + this.labelTitleID.Name = "labelTitleID"; + this.labelTitleID.Size = new System.Drawing.Size(120, 34); + this.labelTitleID.TabIndex = 183; + this.labelTitleID.Text = "ID"; + this.labelTitleID.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; + this.labelTitleID.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelTitleID.Wordwrap = false; + // + // labelTitle + // + this.labelTitle.BackColor = System.Drawing.Color.White; + this.labelTitle.BackPictureBox = null; + this.labelTitle.BackPictureBox1 = null; + this.labelTitle.BackPictureBox2 = null; + this.labelTitle.BorderColor = System.Drawing.Color.Black; + this.labelTitle.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.labelTitle.Font = new System.Drawing.Font("New Gulim", 20F, System.Drawing.FontStyle.Bold); + this.labelTitle.ForeColor = System.Drawing.Color.Gray; + this.labelTitle.InitVisible = true; + this.labelTitle.LineSpacing = 0F; + this.labelTitle.Location = new System.Drawing.Point(129, 25); + this.labelTitle.Name = "labelTitle"; + this.labelTitle.Size = new System.Drawing.Size(546, 50); + this.labelTitle.TabIndex = 182; + this.labelTitle.Text = "로그인"; + this.labelTitle.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; + this.labelTitle.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; + this.labelTitle.Wordwrap = false; + // + // DialogFormLogOn1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi; + this.ClientSize = new System.Drawing.Size(710, 470); + this.ControlBox = false; + this.Controls.Add(this.pictureBoxImage); + this.Controls.Add(this.labelTitlePassword); + this.Controls.Add(this.labelTitleID); + this.Controls.Add(this.smartButtonUser33); + this.Controls.Add(this.smartButtonUser22); + this.Controls.Add(this.smartButtonIUser11); + this.Controls.Add(this.smartButtonAdmin); + this.Controls.Add(this.smartButton1); + this.Controls.Add(this.buttonCancel); + this.Controls.Add(this.buttonLogon); + this.Controls.Add(this.textBoxPassword); + this.Controls.Add(this.textBoxID); + this.Controls.Add(this.smartKeyboard); + this.Controls.Add(this.labelTitle); + this.Controls.Add(this.smartForm1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; + this.Name = "DialogFormLogOn1"; + this.Text = "DialogFormLogOn"; + ((System.ComponentModel.ISupportInitialize)(this.smartForm1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private SmartX.SmartForm smartForm1; + private SmartX.SmartKeyboard smartKeyboard; + private System.Windows.Forms.TextBox textBoxID; + private System.Windows.Forms.TextBox textBoxPassword; + private SmartX.SmartButton buttonLogon; + private SmartX.SmartButton buttonCancel; + private SmartX.SmartButton smartButton1; + private SmartX.SmartButton smartButtonAdmin; + private SmartX.SmartButton smartButtonIUser11; + private SmartX.SmartButton smartButtonUser22; + private SmartX.SmartButton smartButtonUser33; + private System.Windows.Forms.PictureBox pictureBoxImage; + private SmartX.SmartLabel labelTitlePassword; + private SmartX.SmartLabel labelTitleID; + private SmartX.SmartLabel labelTitle; + } +} \ No newline at end of file diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn1.cs b/INT69DC_7C/DialogForms/DialogFormLogOn1.cs new file mode 100644 index 0000000..2af40ac --- /dev/null +++ b/INT69DC_7C/DialogForms/DialogFormLogOn1.cs @@ -0,0 +1,470 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Text; +using System.Windows.Forms; + +using INT69DC_ImageDll; +using INT69DC_7C.Forms; +using INT69DC_7C.Part11_UserManager; +using System.Text.RegularExpressions; + +namespace INT69DC_7C.DialogForms +{ + public partial class DialogFormLogOn1 : Form + { + #region Field + private bool IsPart11; + + // false : 패스워드 변경, true : 로그인 + private bool IsLogin; + private string ID; + private string Password; + + UserManager.UserMgr_user_info_t UserInfo = new UserManager.UserMgr_user_info_t(); + + private FormMain m_ParentForm; + #endregion + + #region Constructor + public DialogFormLogOn1(FormMain parent, DataStore.LanguageID language, bool isPart11) + { + InitializeComponent(); + + this.ParentForm = parent; + this.IsPart11 = isPart11; + this.IsLogin = true; + + this.InitializeContnrol(); + this.InitializeDesignLogOn(language); + this.DefaultSettingLogOn(); + } + public DialogFormLogOn1(FormMain parent, DataStore.LanguageID language, string id) + { + InitializeComponent(); + + this.ParentForm = parent; + this.ID = id; + this.IsLogin = false; + + this.InitializeContnrol(); + this.InitializeDesignChangePassword(language); + this.DefaultSettingChangePassword(); + } + #endregion + + #region Property + public FormMain ParentForm + { + get { return this.m_ParentForm; } + private set { this.m_ParentForm = value; } + } + #endregion + + #region Method + private void InitializeContnrol() + { + int x = 0, y = 0; + + x = Screen.PrimaryScreen.Bounds.Width / 2 - this.Size.Width / 2; + y = Screen.PrimaryScreen.Bounds.Height / 2 - this.Size.Height / 2; + + this.Location = new Point(x, y); + + this.Size = new Size(450, 165); + } + public void InitializeDesignLogOn(DataStore.LanguageID language) + { + ImageDll images = new ImageDll(); + + this.pictureBoxImage.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.LoginImage1)); + + if (language == DataStore.LanguageID.English) + { + this.labelTitle.Text = "User Login"; + this.labelTitleID.Text = "ID"; + this.labelTitlePassword.Text = "Password"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginLoginUp)); + } + else if (language == DataStore.LanguageID.Chinese) + { + this.labelTitle.Text = "登錄"; + this.labelTitleID.Text = "用户名"; + this.labelTitlePassword.Text = "密码"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginLoginUp)); + } + else if (language == DataStore.LanguageID.Czech) + { + } + else + { + this.labelTitle.Text = "로그인"; + this.labelTitleID.Text = "ID"; + this.labelTitlePassword.Text = "비밀번호"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginLoginUp)); + } + } + private void DefaultSettingLogOn() + { + this.textBoxID.Text = ""; + this.textBoxPassword.Text = ""; + + this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; + this.smartKeyboard.Show(); + } + private void Login() + { + // Check ID + if (this.textBoxID.Text.Length < 6) + { + // ID : 6~20자 입력하세요 + DialogFormMessage msg = new DialogFormMessage(null, 3, this.ParentForm.SystemConfig.Language); + msg.ShowDialog(); + + return; + } + // Check Password + if (this.textBoxPassword.Text.Length < 6) + { + // PASSWORD : 6~20자 입력하세요 + DialogFormMessage msg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language); + msg.ShowDialog(); + + return; + } + + UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.textBoxPassword.Text, ref this.UserInfo); + + if (this.UserInfo.status == 0) + { + #region 로그인 성공 + try + { + string sValue = ""; + + this.SuccessLogin(this.UserInfo); + + sValue = this.ParentForm.ChildFormMainDisplay.DisplayExpireOfPassword(this.ParentForm.SystemConfig.CurrentUser.Group); + if (sValue != "-") + { + int intExpireDate = int.Parse(sValue); + if (intExpireDate >= -10) + { + int extract = int.Parse(Regex.Replace(sValue, @"\D", "")); + DialogFormYesNo df = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 2, extract.ToString()); + df.BringToFront(); + if (df.ShowDialog() == DialogResult.Yes) + { + DialogFormLogOn1 changePW = new DialogFormLogOn1(this.ParentForm, this.ParentForm.SystemConfig.Language, this.textBoxID.Text); + if (changePW.ShowDialog() == DialogResult.OK) + { + UserManager.UserManager_UserLockRelease(this.textBoxID.Text, false, true); + UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.SystemConfig.CurrentUser.Password, ref this.UserInfo); + + this.SuccessLogin(this.UserInfo); + } + } + } + } + } + catch (Exception ex) + { + FormMain.Exception(ex); + + this.DialogResult = DialogResult.Cancel; + this.Close(); + + return; + } + + this.DialogResult = DialogResult.OK; + this.Close(); + #endregion + } + else + { + if (this.UserInfo.status == 15) // USER_MGR_STATUS_PW_PASSWORD_LOCK + { + this.Close(); + + DialogFormLogOn1 changePW = new DialogFormLogOn1(this.ParentForm, this.ParentForm.SystemConfig.Language, this.textBoxID.Text); + if (changePW.ShowDialog() == DialogResult.OK) + { + UserManager.UserManager_UserLoginDirect(this.textBoxID.Text, this.ParentForm.SystemConfig.CurrentUser.Password, ref this.UserInfo); + // console + Console.WriteLine(this.UserInfo.status.ToString()); + this.SuccessLogin(this.UserInfo); + + this.DialogResult = DialogResult.OK; + this.Close(); + } + } + else + { + DialogFormMessage myMsg = new DialogFormMessage(null, this.UserInfo.status, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + } + } + } + private void SuccessLogin(UserManager.UserMgr_user_info_t user) + { + if (user.active_level == 1) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level1; + else if (user.active_level == 2) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level2; + else if (user.active_level == 3) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Level3; + else if (user.active_level == 9) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Admin; + else if (user.active_level == 10) + this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer; + this.ParentForm.SystemConfig.CurrentUser.ActiveLevel = user.active_level; + + this.ParentForm.SystemConfig.CurrentUser.ID = user.user_id; + this.ParentForm.SystemConfig.CurrentUser.Password = user.user_pw; + + this.ParentForm.SystemConfig.CurrentUser.ExpireAccount = user.expire_period_account; + this.ParentForm.SystemConfig.CurrentUser.ExpirePassword = user.expire_period_pw; + + // console + Console.WriteLine(user.register_date.GetDateTime()); + DateTime time = DateTime.ParseExact(user.register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateRegister = time; + // console + Console.WriteLine(user.login_date.GetDateTime()); + time = DateTime.ParseExact(user.login_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateLogin = time; + + if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin + || this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer) + { + this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = DateTime.Now; + this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = DateTime.Now; + } + else + { + // console + Console.WriteLine(user.expire_account_date.GetDateTime()); + time = DateTime.ParseExact(user.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateExpireLogin = time; + // console + Console.WriteLine(user.expire_register_date.GetDateTime()); + time = DateTime.ParseExact(user.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.ParentForm.SystemConfig.CurrentUser.DateExpireRegister = time; + } + + this.ParentForm.SystemConfig.CurrentUser.IsLockAccount = user.flock_status_account == 0 ? false : true; + this.ParentForm.SystemConfig.CurrentUser.IsLockPassword = user.flock_status_password == 0 ? false : true; + + if (this.ParentForm.SystemConfig.IsPart11 == true) + this.ParentForm.SystemConfig.CurrentUser.IsAdmin = user.fadmin == 0 ? false : true; + else + this.ParentForm.SystemConfig.CurrentUser.IsAdmin = true; + } + + public void InitializeDesignChangePassword(DataStore.LanguageID language) + { + ImageDll images = new ImageDll(); + + this.pictureBoxImage.Image = new Bitmap(images.GetImage(ImageDll.ButtonImages.LoginImage2)); + + if (language == DataStore.LanguageID.English) + { + this.labelTitle.Text = "Change Password"; + this.labelTitleID.Text = "New"; + this.labelTitlePassword.Text = "Verify"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engMainLoginChangeUp)); + } + else if (language == DataStore.LanguageID.Chinese) + { + this.labelTitle.Text = "更改密码"; + this.labelTitleID.Text = "新的"; + this.labelTitlePassword.Text = "核实"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnMainLoginChangeUp)); + } + else if (language == DataStore.LanguageID.Czech) + { + } + else + { + this.labelTitle.Text = "비밀번호 변경"; + this.labelTitleID.Text = "새 비밀번호"; + this.labelTitlePassword.Text = "비밀번호 확인"; + + this.buttonCancel.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDisable)); + this.buttonCancel.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelDown)); + this.buttonCancel.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginCancelUp)); + this.buttonLogon.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeDisable)); + this.buttonLogon.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeDown)); + this.buttonLogon.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.korMainLoginChangeUp)); + } + } + private void DefaultSettingChangePassword() + { + this.textBoxID.Text = ""; + this.textBoxPassword.Text = ""; + + this.textBoxID.PasswordChar = '*'; + this.textBoxPassword.PasswordChar = '*'; + + this.smartKeyboard.KeyboardType = SmartX.SmartKeyboard.KEYBOARDTYPES.NORMAL; + this.smartKeyboard.Show(); + } + private void SaveChangePassword() + { + string detail = ""; + + // Check Password + if (this.textBoxPassword.Text.Length < 6) + { + // PASSWORD : 6~20자 입력하세요 + DialogFormMessage msg = new DialogFormMessage(null, 9, this.ParentForm.SystemConfig.Language); + msg.ShowDialog(); + + return; + } + + try + { + if (this.textBoxID.Text != this.textBoxPassword.Text) + { + // 비밀번호가 동일하지 않습니다 + DialogFormMessage myMsg = new DialogFormMessage(null, 17, this.ParentForm.SystemConfig.Language); + myMsg.ShowDialog(); + } + else + { + UserManager.UserManager_UserModifyPW(this.ID, this.textBoxPassword.Text); + this.ParentForm.SystemConfig.CurrentUser.Password = this.textBoxPassword.Text; + + this.DialogResult = DialogResult.OK; + this.Close(); + this.Dispose(); + } + } + catch + { + this.DialogResult = DialogResult.Cancel; + this.Close(); + this.Dispose(); + } + } + #endregion + + #region Event Handler + private void buttonLogOn_Click(object sender, EventArgs e) + { + // Automatic Logout Reset + if (this.IsPart11 == true) + this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); + + if (this.IsLogin == true) + this.Login(); + else + this.SaveChangePassword(); + } + private void buttonCancel_Click(object sender, EventArgs e) + { + // Automatic Logout Reset + if (this.IsPart11 == true) + this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); + + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + + private void textBoxID_GotFocus(object sender, EventArgs e) + { + // Automatic Logout Reset + if (this.IsPart11 == true) + this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); + + this.smartKeyboard.TargetInputObject = this.textBoxID; + + this.textBoxID.Select(this.textBoxID.Text.Length, 0); + } + private void textBoxPassword_GotFocus(object sender, EventArgs e) + { + // Automatic Logout Reset + if (this.IsPart11 == true) + this.ParentForm.ChildFormMainDisplay.Part11AutomaticLogoutReset(); + + this.smartKeyboard.TargetInputObject = this.textBoxPassword; + + this.textBoxPassword.Select(this.textBoxPassword.Text.Length, 0); + } + + private void smartKeyboard_OnXKeyClick(object sender, EventArgs e) + { + //this.smartKeyboard.Show(); + } + private void smartKeyboard_Click(object sender, EventArgs e) + { + + } + #endregion + + private void smartButton1_Click(object sender, EventArgs e) + { + this.textBoxID.Text = "Intech"; + this.textBoxPassword.Text = "I20090810!"; + } + + private void smartButtonAdmin_Click(object sender, EventArgs e) + { + this.textBoxID.Text = "admin00"; + this.textBoxPassword.Text = "admin12!"; + } + + private void smartButtonIUser11_Click(object sender, EventArgs e) + { + this.textBoxID.Text = "user11"; + this.textBoxPassword.Text = "user11!"; + } + + private void smartButtonUser22_Click(object sender, EventArgs e) + { + this.textBoxID.Text = "user22"; + this.textBoxPassword.Text = "user22!"; + } + + private void smartButtonUser33_Click(object sender, EventArgs e) + { + this.textBoxID.Text = "user33"; + this.textBoxPassword.Text = "user33!"; + } + } +} \ No newline at end of file diff --git a/INT69DC_7C/DialogForms/DialogFormLogOn1.resx b/INT69DC_7C/DialogForms/DialogFormLogOn1.resx new file mode 100644 index 0000000..18d93a6 --- /dev/null +++ b/INT69DC_7C/DialogForms/DialogFormLogOn1.resx @@ -0,0 +1,1055 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + xgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsbxgAApBW3sGEMAEBacQsb + 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 + 5fwR+R+1E4HZ5iT/aAAAAABJRU5ErkJggg== + + + + + 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 + vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L + Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA + bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z + llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW + ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s + xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6 + eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw + YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR + XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm + WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl + xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2 + dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8 + V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za + Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v + Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb + 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 + BvD5vyiq/GApiIKIfFGgEFQUMKIiwSwmDEhQjGBAJCjBHFBRSaJiKAOWWkqJlgqKZLW07/219qnZ2YY9 + snPO9bKHqkfW7Z7ufp9++009TBEyf/78889w8ODBsGvXrvDjjz+Gb7/9Nmzfvj188803Rx3IRT5ykpfc + 5M/96UbWr7/+Gn744Yfw5Zdfho8++ii899574e233w5vvfXWUYnNmzdH+cj58ccfR7m///77LGkNsjTs + 2bMnfPXVV+GDDz4IGzZsCK+99lp4+eWXwwsvvBCef/75oxYvvvhilJO85H7//fcjabt37w5//PHH3wz9 + TZZf/Pzzz+Gzzz6LTL/66qvhueeeC0899VRYtWpVWLlyZVixYsVRC/KRk7zkfuWVV6LW4eOXX35paFjh + Bwx++umnkdWXXnopPnS0E3QokJv8tG3jxo2RsL1790bCit9++y188cUXsUGH1atX91miEsiPB3zQsG3b + toXff/89FD/99FM0bmvWrIkdcg/3RSQNY5LYcKev+Prrr8O6devCs88+Gzs9+eSTHfwNfLBhzJPwouAu + GTQG7oknnuigAqeNl9y6dWsotmzZEs8mFnOd+zocR2HFhx9+GAqhgliD2uU693VQIspEqYpNmzZFe7V8 + +fIOMkAYZXrnnXdCwXg988wzYdmyZR1kgDBGXkoUyXr66aezHTuokLV+/foYTyxdurSDDBDGTDXI4h6X + LFnSNtx0002hf//+4Zhjjglz5szJ9qnioYceCscff3zo169fmD59enj88cez/eoGwpgpjrDtZN18881h + 0KBBYdSoUeGiiy4KEydODPPnz8/2TXjggQfCySefHIYNGxafOe+888LMmTPD4sWLs/3rRBeyRO/IslOt + Bo0aOHBgGDlyZJg6dWq44oorwqWXXhqFv+eee7LP3H///WHo0KHh1FNPDZdddll85vLLLw8XXHBBJOyx + xx7LPlcXEMamyxGLN998M0bvdqmVQFTSqGnTpkWhExB2/vnnRw0rP3PfffdFkkCf8jOJsFtvvTUsWrSo + y3N1AmFsetvIItDgwYO7aFQVibC77747PkOjhg8fHo/eJZdckn1m8uTJYdKkSeHee+/tNmdd6EaWkJ46 + twrIOuuss7ICl4EU2nLllVdGYk855ZRDEgXXXHNNmDVrVvRYuXnrAMKYKcF78cYbb8SQniq3Eoz0jBkz + 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 + QmCC + + + + + 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 + t8VwAAAAAElFTkSuQmCC + + + + WEBPAD + + + False + + \ No newline at end of file diff --git a/INT69DC_7C/Forms/FormMain.cs b/INT69DC_7C/Forms/FormMain.cs index 5ecb468..de92b84 100644 --- a/INT69DC_7C/Forms/FormMain.cs +++ b/INT69DC_7C/Forms/FormMain.cs @@ -11989,7 +11989,9 @@ namespace INT69DC_7C.Forms // 폼생성 this.CreateForm(); - + + Console.WriteLine("Program Load"); + this.SmartSplashProgramLoad.Finish(); // 디버거 연결할때 사용 diff --git a/INT69DC_7C/Forms/FormMainDisplay.Designer.cs b/INT69DC_7C/Forms/FormMainDisplay.Designer.cs index 9d693ed..dba5591 100644 --- a/INT69DC_7C/Forms/FormMainDisplay.Designer.cs +++ b/INT69DC_7C/Forms/FormMainDisplay.Designer.cs @@ -709,7 +709,7 @@ this.groupBoxJudgment.Controls.Add(this.labelStaticDoubleDelayTime); this.groupBoxJudgment.Controls.Add(this.labelStaticJudgmentDelayTime); this.groupBoxJudgment.Controls.Add(this.labelStaticFilter); - this.groupBoxJudgment.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.groupBoxJudgment.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.groupBoxJudgment.ForeColor = System.Drawing.Color.White; this.groupBoxJudgment.FrameLineColor1 = System.Drawing.Color.Black; this.groupBoxJudgment.FrameLineColor2 = System.Drawing.Color.Black; @@ -817,7 +817,7 @@ this.labelStaticJudgmentCount.BackPictureBox2 = null; this.labelStaticJudgmentCount.BorderColor = System.Drawing.Color.Black; this.labelStaticJudgmentCount.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticJudgmentCount.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticJudgmentCount.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticJudgmentCount.ForeColor = System.Drawing.Color.White; this.labelStaticJudgmentCount.InitVisible = true; this.labelStaticJudgmentCount.LineSpacing = 0F; @@ -838,7 +838,7 @@ this.labelStaticDoubleDelayTime.BackPictureBox2 = null; this.labelStaticDoubleDelayTime.BorderColor = System.Drawing.Color.Black; this.labelStaticDoubleDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticDoubleDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticDoubleDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticDoubleDelayTime.ForeColor = System.Drawing.Color.White; this.labelStaticDoubleDelayTime.InitVisible = true; this.labelStaticDoubleDelayTime.LineSpacing = 0F; @@ -859,7 +859,7 @@ this.labelStaticJudgmentDelayTime.BackPictureBox2 = null; this.labelStaticJudgmentDelayTime.BorderColor = System.Drawing.Color.Black; this.labelStaticJudgmentDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticJudgmentDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticJudgmentDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticJudgmentDelayTime.ForeColor = System.Drawing.Color.White; this.labelStaticJudgmentDelayTime.InitVisible = true; this.labelStaticJudgmentDelayTime.LineSpacing = 0F; @@ -880,7 +880,7 @@ this.labelStaticFilter.BackPictureBox2 = null; this.labelStaticFilter.BorderColor = System.Drawing.Color.Black; this.labelStaticFilter.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticFilter.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticFilter.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticFilter.ForeColor = System.Drawing.Color.White; this.labelStaticFilter.InitVisible = true; this.labelStaticFilter.LineSpacing = 0F; @@ -908,7 +908,7 @@ this.groupBoxConveyor.Controls.Add(this.labelStaticFeedingRunTime); this.groupBoxConveyor.Controls.Add(this.labelStaticFeedingDelayTime); this.groupBoxConveyor.Controls.Add(this.labelStaticRejectConveyorRunTime); - this.groupBoxConveyor.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.groupBoxConveyor.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.groupBoxConveyor.FrameLineColor1 = System.Drawing.Color.Black; this.groupBoxConveyor.FrameLineColor2 = System.Drawing.Color.Black; this.groupBoxConveyor.FrameLineThickness = 1; @@ -931,7 +931,7 @@ this.labelStaticFeedingConveyor.BackPictureBox2 = null; this.labelStaticFeedingConveyor.BorderColor = System.Drawing.Color.Black; this.labelStaticFeedingConveyor.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticFeedingConveyor.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticFeedingConveyor.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticFeedingConveyor.ForeColor = System.Drawing.Color.White; this.labelStaticFeedingConveyor.InitVisible = true; this.labelStaticFeedingConveyor.LineSpacing = 0F; @@ -952,7 +952,7 @@ this.labelStaticRejectConveyor.BackPictureBox2 = null; this.labelStaticRejectConveyor.BorderColor = System.Drawing.Color.Black; this.labelStaticRejectConveyor.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticRejectConveyor.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticRejectConveyor.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticRejectConveyor.ForeColor = System.Drawing.Color.White; this.labelStaticRejectConveyor.InitVisible = true; this.labelStaticRejectConveyor.LineSpacing = 0F; @@ -1036,7 +1036,7 @@ this.labelStaticRejectConveyorDelayTime.BackPictureBox2 = null; this.labelStaticRejectConveyorDelayTime.BorderColor = System.Drawing.Color.Black; this.labelStaticRejectConveyorDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticRejectConveyorDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticRejectConveyorDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticRejectConveyorDelayTime.ForeColor = System.Drawing.Color.White; this.labelStaticRejectConveyorDelayTime.InitVisible = true; this.labelStaticRejectConveyorDelayTime.LineSpacing = 0F; @@ -1078,7 +1078,7 @@ this.labelStaticFeedingRunTime.BackPictureBox2 = null; this.labelStaticFeedingRunTime.BorderColor = System.Drawing.Color.Black; this.labelStaticFeedingRunTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticFeedingRunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticFeedingRunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticFeedingRunTime.ForeColor = System.Drawing.Color.White; this.labelStaticFeedingRunTime.InitVisible = true; this.labelStaticFeedingRunTime.LineSpacing = 0F; @@ -1099,7 +1099,7 @@ this.labelStaticFeedingDelayTime.BackPictureBox2 = null; this.labelStaticFeedingDelayTime.BorderColor = System.Drawing.Color.Black; this.labelStaticFeedingDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticFeedingDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticFeedingDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticFeedingDelayTime.ForeColor = System.Drawing.Color.White; this.labelStaticFeedingDelayTime.InitVisible = true; this.labelStaticFeedingDelayTime.LineSpacing = 0F; @@ -1120,7 +1120,7 @@ this.labelStaticRejectConveyorRunTime.BackPictureBox2 = null; this.labelStaticRejectConveyorRunTime.BorderColor = System.Drawing.Color.Black; this.labelStaticRejectConveyorRunTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticRejectConveyorRunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticRejectConveyorRunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticRejectConveyorRunTime.ForeColor = System.Drawing.Color.White; this.labelStaticRejectConveyorRunTime.InitVisible = true; this.labelStaticRejectConveyorRunTime.LineSpacing = 0F; @@ -1151,7 +1151,7 @@ this.groupBoxSorter.Controls.Add(this.labelSorterDelayTime); this.groupBoxSorter.Controls.Add(this.labelStaticSorterDelayTime); this.groupBoxSorter.Controls.Add(this.labelStaticSorterRunTime); - this.groupBoxSorter.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.groupBoxSorter.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.groupBoxSorter.FrameLineColor1 = System.Drawing.Color.Black; this.groupBoxSorter.FrameLineColor2 = System.Drawing.Color.Black; this.groupBoxSorter.FrameLineThickness = 1; @@ -1216,7 +1216,7 @@ this.labelStaticSorterDelayTime.BackPictureBox2 = null; this.labelStaticSorterDelayTime.BorderColor = System.Drawing.Color.Black; this.labelStaticSorterDelayTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticSorterDelayTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticSorterDelayTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticSorterDelayTime.ForeColor = System.Drawing.Color.White; this.labelStaticSorterDelayTime.InitVisible = true; this.labelStaticSorterDelayTime.LineSpacing = 0F; @@ -1237,7 +1237,7 @@ this.labelStaticSorterRunTime.BackPictureBox2 = null; this.labelStaticSorterRunTime.BorderColor = System.Drawing.Color.Black; this.labelStaticSorterRunTime.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticSorterRunTime.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelStaticSorterRunTime.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelStaticSorterRunTime.ForeColor = System.Drawing.Color.White; this.labelStaticSorterRunTime.InitVisible = true; this.labelStaticSorterRunTime.LineSpacing = 0F; @@ -1298,7 +1298,7 @@ this.buttonDown.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonDown.DisableImage = null; this.buttonDown.DownImage = null; - this.buttonDown.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.buttonDown.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.buttonDown.GroupID = 0; this.buttonDown.InitVisible = true; this.buttonDown.Location = new System.Drawing.Point(397, 80); @@ -1331,7 +1331,7 @@ this.buttonUp.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonUp.DisableImage = null; this.buttonUp.DownImage = null; - this.buttonUp.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.buttonUp.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.buttonUp.GroupID = 0; this.buttonUp.InitVisible = true; this.buttonUp.Location = new System.Drawing.Point(397, 33); @@ -1362,7 +1362,7 @@ this.smartListBox1.ColumnAlign = SmartX.SmartListBox.COLUMNALIGNS.CENTER; this.smartListBox1.ColumnDelimiter = '\0'; this.smartListBox1.ColumnOffsets = null; - this.smartListBox1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.smartListBox1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.smartListBox1.FontColor = System.Drawing.Color.Black; this.smartListBox1.InitVisible = true; this.smartListBox1.ItemAddOrder = SmartX.SmartListBox.ITEMADDORDERS.BOTTOMADD; @@ -1401,7 +1401,7 @@ this.labelAlarm2ErrorCode.BackPictureBox2 = null; this.labelAlarm2ErrorCode.BorderColor = System.Drawing.Color.Black; this.labelAlarm2ErrorCode.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelAlarm2ErrorCode.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.labelAlarm2ErrorCode.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.labelAlarm2ErrorCode.InitVisible = true; this.labelAlarm2ErrorCode.LineSpacing = 0F; this.labelAlarm2ErrorCode.Location = new System.Drawing.Point(11, 4); @@ -1462,7 +1462,7 @@ this.labelMessage1.BackPictureBox2 = null; this.labelMessage1.BorderColor = System.Drawing.Color.Black; this.labelMessage1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelMessage1.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.labelMessage1.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.labelMessage1.InitVisible = true; this.labelMessage1.LineSpacing = 0F; this.labelMessage1.Location = new System.Drawing.Point(75, 62); @@ -1481,7 +1481,7 @@ this.smartLabel2.BackPictureBox2 = null; this.smartLabel2.BorderColor = System.Drawing.Color.Black; this.smartLabel2.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.smartLabel2.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.smartLabel2.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.smartLabel2.InitVisible = true; this.smartLabel2.LineSpacing = 0F; this.smartLabel2.Location = new System.Drawing.Point(11, 4); @@ -1566,7 +1566,7 @@ this.buttonCut.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonCut.DisableImage = null; this.buttonCut.DownImage = null; - this.buttonCut.Font = new System.Drawing.Font("새굴림", 18F, System.Drawing.FontStyle.Bold); + this.buttonCut.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold); this.buttonCut.ForeColor = System.Drawing.Color.White; this.buttonCut.GroupID = 0; this.buttonCut.InitVisible = true; @@ -1630,7 +1630,7 @@ this.labelUserLevel.BackPictureBox2 = null; this.labelUserLevel.BorderColor = System.Drawing.Color.LightGray; this.labelUserLevel.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelUserLevel.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelUserLevel.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelUserLevel.ForeColor = System.Drawing.Color.Black; this.labelUserLevel.InitVisible = true; this.labelUserLevel.LineSpacing = 0F; @@ -1651,7 +1651,7 @@ this.labelUserID.BackPictureBox2 = null; this.labelUserID.BorderColor = System.Drawing.Color.LightGray; this.labelUserID.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelUserID.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelUserID.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelUserID.InitVisible = true; this.labelUserID.LineSpacing = 0F; this.labelUserID.Location = new System.Drawing.Point(664, 6); @@ -1670,7 +1670,7 @@ this.labelTitleTotalCount.BackPictureBox2 = null; this.labelTitleTotalCount.BorderColor = System.Drawing.Color.Black; this.labelTitleTotalCount.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleTotalCount.Font = new System.Drawing.Font("새굴림", 18F, System.Drawing.FontStyle.Bold); + this.labelTitleTotalCount.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold); this.labelTitleTotalCount.InitVisible = true; this.labelTitleTotalCount.LineSpacing = 0F; this.labelTitleTotalCount.Location = new System.Drawing.Point(25, 704); @@ -1690,7 +1690,7 @@ this.labelTitleNG.BackPictureBox2 = null; this.labelTitleNG.BorderColor = System.Drawing.Color.Black; this.labelTitleNG.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleNG.Font = new System.Drawing.Font("새굴림", 18F, System.Drawing.FontStyle.Bold); + this.labelTitleNG.Font = new System.Drawing.Font("New Gulim", 18F, System.Drawing.FontStyle.Bold); this.labelTitleNG.InitVisible = true; this.labelTitleNG.LineSpacing = 0F; this.labelTitleNG.Location = new System.Drawing.Point(310, 704); @@ -1709,7 +1709,7 @@ this.labelTitleScreen.BackPictureBox2 = null; this.labelTitleScreen.BorderColor = System.Drawing.Color.Black; this.labelTitleScreen.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleScreen.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelTitleScreen.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelTitleScreen.InitVisible = true; this.labelTitleScreen.LineSpacing = 0F; this.labelTitleScreen.Location = new System.Drawing.Point(664, 583); @@ -1808,7 +1808,7 @@ this.smartLabel3.BackPictureBox2 = null; this.smartLabel3.BorderColor = System.Drawing.Color.Black; this.smartLabel3.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.smartLabel3.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.smartLabel3.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.smartLabel3.InitVisible = true; this.smartLabel3.LineSpacing = 0F; this.smartLabel3.Location = new System.Drawing.Point(363, 8); @@ -1881,7 +1881,7 @@ this.labelStaticAlarmContinuousNG.BackPictureBox2 = null; this.labelStaticAlarmContinuousNG.BorderColor = System.Drawing.Color.Black; this.labelStaticAlarmContinuousNG.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticAlarmContinuousNG.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticAlarmContinuousNG.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelStaticAlarmContinuousNG.InitVisible = true; this.labelStaticAlarmContinuousNG.LineSpacing = 0F; this.labelStaticAlarmContinuousNG.Location = new System.Drawing.Point(207, 8); @@ -1931,7 +1931,7 @@ this.labelTitleBypass.BackPictureBox2 = null; this.labelTitleBypass.BorderColor = System.Drawing.Color.Black; this.labelTitleBypass.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelTitleBypass.Font = new System.Drawing.Font("굴림", 14F, System.Drawing.FontStyle.Bold); + this.labelTitleBypass.Font = new System.Drawing.Font("Gulim", 14F, System.Drawing.FontStyle.Bold); this.labelTitleBypass.InitVisible = true; this.labelTitleBypass.LineSpacing = 0F; this.labelTitleBypass.Location = new System.Drawing.Point(35, 8); @@ -2102,7 +2102,7 @@ this.labelStaticATPC.BackPictureBox2 = null; this.labelStaticATPC.BorderColor = System.Drawing.Color.Black; this.labelStaticATPC.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticATPC.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticATPC.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelStaticATPC.InitVisible = true; this.labelStaticATPC.LineSpacing = 0F; this.labelStaticATPC.Location = new System.Drawing.Point(26, 8); @@ -2194,7 +2194,7 @@ this.labelMessage3.BackPictureBox2 = null; this.labelMessage3.BorderColor = System.Drawing.Color.Black; this.labelMessage3.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelMessage3.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.labelMessage3.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.labelMessage3.InitVisible = true; this.labelMessage3.LineSpacing = 0F; this.labelMessage3.Location = new System.Drawing.Point(75, 30); @@ -2213,7 +2213,7 @@ this.smartLabel4.BackPictureBox2 = null; this.smartLabel4.BorderColor = System.Drawing.Color.Black; this.smartLabel4.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.smartLabel4.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Regular); + this.smartLabel4.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Regular); this.smartLabel4.InitVisible = true; this.smartLabel4.LineSpacing = 0F; this.smartLabel4.Location = new System.Drawing.Point(11, 4); @@ -2290,7 +2290,7 @@ this.buttonATPC_Reset.ColorKeySamplePosition = new System.Drawing.Point(0, 0); this.buttonATPC_Reset.DisableImage = null; this.buttonATPC_Reset.DownImage = null; - this.buttonATPC_Reset.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.buttonATPC_Reset.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.buttonATPC_Reset.GroupID = 0; this.buttonATPC_Reset.InitVisible = true; this.buttonATPC_Reset.Location = new System.Drawing.Point(337, 42); @@ -2320,7 +2320,7 @@ this.labelStaticATPC_Lack.BackPictureBox2 = null; this.labelStaticATPC_Lack.BorderColor = System.Drawing.Color.Black; this.labelStaticATPC_Lack.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticATPC_Lack.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticATPC_Lack.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelStaticATPC_Lack.InitVisible = true; this.labelStaticATPC_Lack.LineSpacing = 0F; this.labelStaticATPC_Lack.Location = new System.Drawing.Point(522, 8); @@ -2360,7 +2360,7 @@ this.labelStaticATPC_Pass.BackPictureBox2 = null; this.labelStaticATPC_Pass.BorderColor = System.Drawing.Color.Black; this.labelStaticATPC_Pass.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticATPC_Pass.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticATPC_Pass.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelStaticATPC_Pass.InitVisible = true; this.labelStaticATPC_Pass.LineSpacing = 0F; this.labelStaticATPC_Pass.Location = new System.Drawing.Point(416, 8); @@ -2399,7 +2399,7 @@ this.labelStaticATPC_Count.BackPictureBox2 = null; this.labelStaticATPC_Count.BorderColor = System.Drawing.Color.Black; this.labelStaticATPC_Count.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelStaticATPC_Count.Font = new System.Drawing.Font("새굴림", 12F, System.Drawing.FontStyle.Bold); + this.labelStaticATPC_Count.Font = new System.Drawing.Font("New Gulim", 12F, System.Drawing.FontStyle.Bold); this.labelStaticATPC_Count.InitVisible = true; this.labelStaticATPC_Count.LineSpacing = 0F; this.labelStaticATPC_Count.Location = new System.Drawing.Point(231, 8); @@ -2447,7 +2447,7 @@ this.labelExpireOfPassword.BackPictureBox2 = null; this.labelExpireOfPassword.BorderColor = System.Drawing.Color.LightGray; this.labelExpireOfPassword.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.labelExpireOfPassword.Font = new System.Drawing.Font("새굴림", 10F, System.Drawing.FontStyle.Bold); + this.labelExpireOfPassword.Font = new System.Drawing.Font("New Gulim", 10F, System.Drawing.FontStyle.Bold); this.labelExpireOfPassword.ForeColor = System.Drawing.Color.Black; this.labelExpireOfPassword.InitVisible = true; this.labelExpireOfPassword.LineSpacing = 0F; diff --git a/INT69DC_7C/Forms/FormMainDisplay.cs b/INT69DC_7C/Forms/FormMainDisplay.cs index 287c83e..3f42d86 100644 --- a/INT69DC_7C/Forms/FormMainDisplay.cs +++ b/INT69DC_7C/Forms/FormMainDisplay.cs @@ -1111,16 +1111,27 @@ namespace INT69DC_7C.Forms private void Login() { - DialogFormLogOn logOn = new DialogFormLogOn(this.ParentForm, this.ParentForm.SystemConfig.Language, this.ParentForm.SystemConfig.IsPart11); - if (logOn.ShowDialog() == DialogResult.OK) + DialogResult result; + + DialogFormLogOn logOn = new DialogFormLogOn(this.ParentForm); + result = logOn.ShowDialog(); + + if (result == DialogResult.OK) { - this.DisplayRefresh(); + this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser); + //this.DisplayRefresh(); this.buttonUser.ButtonDown(); //this.ParentForm.TimerAutomaticLogout(true, this.ParentForm.SystemConfig.AutomaticLogout); // Part 11 if (this.ParentForm.SystemConfig.IsPart11 == true) this.ParentForm.SetTrackingHistoryData(DataStore.TrackingOperation.Login, ""); + + // 만료일 -10 일때 메시지 띄우기 + } + else if (result == DialogResult.Abort) + { + // 비밀 번호 변경 띄우기 } else { @@ -2962,6 +2973,12 @@ namespace INT69DC_7C.Forms if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.LogOut) { this.Login(); + + //10 전 + // 메시지 띄우기 (변경할래?) yes no + + // 만료 + // 비밀번호 창 띄우기 } else { diff --git a/INT69DC_7C/Forms/FormMenu.cs b/INT69DC_7C/Forms/FormMenu.cs index 9c5e6e9..3af675b 100644 --- a/INT69DC_7C/Forms/FormMenu.cs +++ b/INT69DC_7C/Forms/FormMenu.cs @@ -742,9 +742,27 @@ namespace INT69DC_7C.Forms if (this.ParentForm.SystemConfig.IsLogin == false) { this.ParentForm.SystemConfig.CurrentUser.Group = DataStore.UserGroup.Developer; - this.UpdateDisplayUser(this.ParentForm.SystemConfig.CurrentUser); } + else + { + if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin) + { + if (this.buttonEquipmentSetting.Visible != true) + this.buttonEquipmentSetting.Visible = true; + if (this.buttonEquipmentTest.Visible != true) + this.buttonEquipmentTest.Visible = true; + if (this.buttonOptionSetting.Visible != true) + this.buttonOptionSetting.Visible = true; + + if (this.buttonEquipmentSetting.Enabled != true) + this.buttonEquipmentSetting.Enabled = true; + if (this.buttonEquipmentTest.Enabled != true) + this.buttonEquipmentTest.Enabled = true; + if (this.buttonOptionSetting.Enabled != false) + this.buttonOptionSetting.Enabled = false; + } + } } #endregion } diff --git a/INT69DC_7C/Forms/FormUserEditor.cs b/INT69DC_7C/Forms/FormUserEditor.cs index 7d106c2..ca598d5 100644 --- a/INT69DC_7C/Forms/FormUserEditor.cs +++ b/INT69DC_7C/Forms/FormUserEditor.cs @@ -136,6 +136,24 @@ namespace INT69DC_7C.Forms else this.labelPassword.BackColor = Color.Silver; } + private void SetEnableExpireAccount(bool value) + { + this.labelExpiryDateOfAccount.Enabled = value; + + if (value == true) + this.labelExpiryDateOfAccount.BackColor = Color.White; + else + this.labelExpiryDateOfAccount.BackColor = Color.Silver; + } + private void SetEnableExpirePassword(bool value) + { + this.labelExpiryDateOfPassword.Enabled = value; + + if (value == true) + this.labelExpiryDateOfPassword.BackColor = Color.White; + else + this.labelExpiryDateOfPassword.BackColor = Color.Silver; + } private void SaveUserDll() { @@ -317,6 +335,7 @@ namespace INT69DC_7C.Forms this.buttonDelete.Visible = false; this.buttonSave.Visible = false; + this.comboBoxAccessRight.Enabled = true; this.SetEnableID(true); this.SetEnablePassword(true); } @@ -490,10 +509,14 @@ namespace INT69DC_7C.Forms this.comboBoxAccessRight.SelectedIndexChanged += new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged); this.UpdateAccessRightDisplay(this.comboBoxAccessRight.SelectedIndex + 1); - this.SetEnableID(true); - this.buttonDelete.Visible = false; this.buttonSave.Visible = false; + this.labelStatusExpiryAccount.Visible = false; + this.labelStatusExpiryPassword.Visible = false; + this.SetEnablePassword(true); + this.SetEnableID(true); + this.SetEnableExpireAccount(true); + this.SetEnableExpirePassword(true); this.labelAutomaticLogoutTime.Text = system.AutomaticLogout.ToString(); @@ -510,21 +533,7 @@ namespace INT69DC_7C.Forms this.SelectedUserItem.ExpireAccount = item.expire_period_account; this.SelectedUserItem.ExpirePassword = item.expire_period_pw; - DateTime time = DateTime.ParseExact(item.register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateRegister = time; - time = DateTime.ParseExact(item.login_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateLogin = time; - time = DateTime.ParseExact(item.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateExpireRegister = time; - time = DateTime.ParseExact(item.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateExpireLogin = time; - - this.SelectedUserItem.IsLockAccount = item.flock_status_account == 0 ? false : true; - this.SelectedUserItem.IsLockPassword = item.flock_status_password == 0 ? false : true; - - this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true; this.SelectedUserItem.ActiveLevel = item.active_level; - if (this.SelectedUserItem.ActiveLevel == 1) this.SelectedUserItem.Group = DataStore.UserGroup.Level1; else if (this.SelectedUserItem.ActiveLevel == 2) @@ -537,6 +546,32 @@ namespace INT69DC_7C.Forms this.SelectedUserItem.Group = DataStore.UserGroup.Developer; else this.SelectedUserItem.Group = DataStore.UserGroup.None; + + + if (this.SelectedUserItem.Group == DataStore.UserGroup.Admin + || this.SelectedUserItem.Group == DataStore.UserGroup.Developer) + { + this.SelectedUserItem.DateRegister = DateTime.Now; + this.SelectedUserItem.DateLogin = DateTime.Now; + this.SelectedUserItem.DateExpireRegister = DateTime.Now; + this.SelectedUserItem.DateExpireLogin = DateTime.Now; + } + else + { + DateTime time = DateTime.ParseExact(item.register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateRegister = time; + time = DateTime.ParseExact(item.login_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateLogin = time; + time = DateTime.ParseExact(item.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateExpireRegister = time; + time = DateTime.ParseExact(item.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateExpireLogin = time; + } + + this.SelectedUserItem.IsLockAccount = item.flock_status_account == 0 ? false : true; + this.SelectedUserItem.IsLockPassword = item.flock_status_password == 0 ? false : true; + + this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true; } private void UpdateCurrentUserItem(UserManager.UserMgr_user_info_t item) { @@ -547,21 +582,7 @@ namespace INT69DC_7C.Forms this.SelectedUserItem.ExpireAccount = item.expire_period_account; this.SelectedUserItem.ExpirePassword = item.expire_period_pw; - DateTime time = DateTime.ParseExact(item.register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateRegister = time; - time = DateTime.ParseExact(item.login_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateLogin = time; - time = DateTime.ParseExact(item.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateExpireRegister = time; - time = DateTime.ParseExact(item.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); - this.SelectedUserItem.DateExpireLogin = time; - - this.SelectedUserItem.IsLockAccount = item.flock_status_account == 0 ? false : true; - this.SelectedUserItem.IsLockPassword = item.flock_status_password == 0 ? false : true; - - this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true; this.SelectedUserItem.ActiveLevel = item.active_level; - if (item.active_level == 1) this.SelectedUserItem.Group = DataStore.UserGroup.Level1; else if (item.active_level == 2) @@ -572,6 +593,31 @@ namespace INT69DC_7C.Forms this.SelectedUserItem.Group = DataStore.UserGroup.Admin; else if (item.active_level == 10) this.SelectedUserItem.Group = DataStore.UserGroup.Developer; + + if (this.SelectedUserItem.Group == DataStore.UserGroup.Admin + || this.SelectedUserItem.Group == DataStore.UserGroup.Developer) + { + this.SelectedUserItem.DateRegister = DateTime.Now; + this.SelectedUserItem.DateLogin = DateTime.Now; + this.SelectedUserItem.DateExpireRegister = DateTime.Now; + this.SelectedUserItem.DateExpireLogin = DateTime.Now; + } + else + { + DateTime time = DateTime.ParseExact(item.register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateRegister = time; + time = DateTime.ParseExact(item.login_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateLogin = time; + time = DateTime.ParseExact(item.expire_account_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateExpireRegister = time; + time = DateTime.ParseExact(item.expire_register_date.GetDateTime(), "yyyyMMddHHmmss", null); + this.SelectedUserItem.DateExpireLogin = time; + } + + this.SelectedUserItem.IsLockAccount = item.flock_status_account == 0 ? false : true; + this.SelectedUserItem.IsLockPassword = item.flock_status_password == 0 ? false : true; + + this.SelectedUserItem.IsAdmin = item.fadmin == 0 ? false : true; } private void UpdateSelectUserDisplay(UserItem item) { @@ -580,23 +626,21 @@ namespace INT69DC_7C.Forms this.labelID.Text = item.ID; this.labelPassword.Text = item.Password; this.UpdateAccessRightDisplay(item.ActiveLevel); + this.buttonSave.Visible = false; if (item.Group == DataStore.UserGroup.Admin) { - //this.labelExpiryDateOfAccount.Text = "0"; - //this.labelExpiryDateOfPassword.Text = "0"; - //this.labelExpiryDateOfAccount2.Text = "-"; - //this.labelExpiryDateOfPassword2.Text = "-"; - this.labelExpiryDateOfAccount.Text = item.ExpireAccount.ToString(); - this.labelExpiryDateOfPassword.Text = item.ExpirePassword.ToString(); - this.labelExpiryDateOfAccount2.Text = string.Format("{0:yyyy/MM/dd} ~ {1:yyyy/MM/dd}", item.DateRegister, item.DateExpireRegister); - this.labelExpiryDateOfPassword2.Text = string.Format("{0:yyyy/MM/dd} ~ {1:yyyy/MM/dd}", item.DateLogin, item.DateExpireLogin); + this.labelExpiryDateOfAccount.Text = "0"; + this.labelExpiryDateOfPassword.Text = "0"; + this.labelExpiryDateOfAccount2.Text = "-"; + this.labelExpiryDateOfPassword2.Text = "-"; this.buttonDelete.Visible = false; - this.buttonSave.Visible = false; this.comboBoxAccessRight.Visible = false; this.labelStatusExpiryAccount.Visible = false; this.labelStatusExpiryPassword.Visible = false; + this.SetEnableExpireAccount(false); + this.SetEnableExpirePassword(false); if (this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Admin || this.ParentForm.SystemConfig.CurrentUser.Group == DataStore.UserGroup.Developer) @@ -620,22 +664,25 @@ namespace INT69DC_7C.Forms this.comboBoxAccessRight.SelectedIndex = item.ActiveLevel - 1; this.comboBoxAccessRight.SelectedIndexChanged += new EventHandler(this.comboBoxAccessRight_SelectedIndexChanged); + this.SetEnableExpireAccount(true); + this.SetEnableExpirePassword(true); + if (this.ParentForm.SystemConfig.CurrentUser.ActiveLevel < item.ActiveLevel) { - this.SetEnablePassword(false); this.buttonDelete.Visible = false; + this.SetEnablePassword(false); this.comboBoxAccessRight.Enabled = false; } else if (this.ParentForm.SystemConfig.CurrentUser.ActiveLevel == item.ActiveLevel) { - this.SetEnablePassword(true); this.buttonDelete.Visible = false; + this.SetEnablePassword(true); this.comboBoxAccessRight.Enabled = false; } else { - this.SetEnablePassword(true); this.buttonDelete.Visible = true; + this.SetEnablePassword(true); this.comboBoxAccessRight.Enabled = true; } } @@ -746,6 +793,7 @@ namespace INT69DC_7C.Forms this.listBoxUserList.SelectItemIndex = this.listBoxUserList.ItemCount - 1; this.buttonDelete.Visible = true; + this.buttonSave.Visible = false; this.SetEnableID(false); DialogFormMessage dlg = new DialogFormMessage(DataStore.MessageBoxIcon.Asterisk, code, message1, message2, 0); @@ -915,15 +963,6 @@ namespace INT69DC_7C.Forms this.UpdateInitializeUserDisplay(this.ParentForm.SystemConfig); this.UpdateUserListBoxDisplay(this.ParentForm.ListDllUserName); - this.listBoxUserList.SelectedIndexChanged -= new EventHandler(this.listBoxUserList_SelectedIndexChanged); - this.listBoxUserList.SelectItemIndex = -1; - this.listBoxUserList.SelectedIndexChanged += new EventHandler(this.listBoxUserList_SelectedIndexChanged); - - // Visible & Enable 처리 - this.buttonDelete.Visible = false; - this.buttonSave.Visible = false; - this.SetEnablePassword(true); - this.SetEnableID(true); } else { @@ -953,7 +992,7 @@ namespace INT69DC_7C.Forms { // 메시지 추가 // 사용자를 삭제 하시겠습니까? - DialogFormYesNo dlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 16); + DialogFormYesNo dlg = new DialogFormYesNo(this.ParentForm.SystemConfig.Language, 14); if (dlg.ShowDialog() == DialogResult.Yes) { if (this.listBoxUserList.Items.Count <= 1) @@ -1019,6 +1058,9 @@ namespace INT69DC_7C.Forms else { this.labelExpiryDateOfAccount.Text = myKeyPad.StringValue; + + if (this.buttonSave.Visible != true) + this.buttonSave.Visible = true; } } } @@ -1037,6 +1079,9 @@ namespace INT69DC_7C.Forms else { this.labelExpiryDateOfPassword.Text = myKeyPad.StringValue; + + if (this.buttonSave.Visible != true) + this.buttonSave.Visible = true; } } } diff --git a/INT69DC_7C/Forms/FormUserGroupEditor.Designer.cs b/INT69DC_7C/Forms/FormUserGroupEditor.Designer.cs index fc89bc0..2a0b383 100644 --- a/INT69DC_7C/Forms/FormUserGroupEditor.Designer.cs +++ b/INT69DC_7C/Forms/FormUserGroupEditor.Designer.cs @@ -312,7 +312,7 @@ this.checkBoxNotLoginMenuViewer.ImageCheckBox = null; this.checkBoxNotLoginMenuViewer.ImageUnCheckBox = null; this.checkBoxNotLoginMenuViewer.InitVisible = true; - this.checkBoxNotLoginMenuViewer.Location = new System.Drawing.Point(925, 562); + this.checkBoxNotLoginMenuViewer.Location = new System.Drawing.Point(925, 541); this.checkBoxNotLoginMenuViewer.Name = "checkBoxNotLoginMenuViewer"; this.checkBoxNotLoginMenuViewer.Size = new System.Drawing.Size(29, 30); this.checkBoxNotLoginMenuViewer.TabIndex = 854; @@ -333,7 +333,7 @@ this.checkBoxL3MenuViewer.ImageCheckBox = null; this.checkBoxL3MenuViewer.ImageUnCheckBox = null; this.checkBoxL3MenuViewer.InitVisible = true; - this.checkBoxL3MenuViewer.Location = new System.Drawing.Point(875, 562); + this.checkBoxL3MenuViewer.Location = new System.Drawing.Point(875, 541); this.checkBoxL3MenuViewer.Name = "checkBoxL3MenuViewer"; this.checkBoxL3MenuViewer.Size = new System.Drawing.Size(29, 30); this.checkBoxL3MenuViewer.TabIndex = 855; @@ -354,7 +354,7 @@ this.checkBoxL2MenuViewer.ImageCheckBox = null; this.checkBoxL2MenuViewer.ImageUnCheckBox = null; this.checkBoxL2MenuViewer.InitVisible = true; - this.checkBoxL2MenuViewer.Location = new System.Drawing.Point(825, 562); + this.checkBoxL2MenuViewer.Location = new System.Drawing.Point(825, 541); this.checkBoxL2MenuViewer.Name = "checkBoxL2MenuViewer"; this.checkBoxL2MenuViewer.Size = new System.Drawing.Size(29, 30); this.checkBoxL2MenuViewer.TabIndex = 856; @@ -375,7 +375,7 @@ this.checkBoxL1MenuViewer.ImageCheckBox = null; this.checkBoxL1MenuViewer.ImageUnCheckBox = null; this.checkBoxL1MenuViewer.InitVisible = true; - this.checkBoxL1MenuViewer.Location = new System.Drawing.Point(775, 562); + this.checkBoxL1MenuViewer.Location = new System.Drawing.Point(775, 541); this.checkBoxL1MenuViewer.Name = "checkBoxL1MenuViewer"; this.checkBoxL1MenuViewer.Size = new System.Drawing.Size(29, 30); this.checkBoxL1MenuViewer.TabIndex = 853; @@ -393,7 +393,7 @@ this.labelTitleViewer.ForeColor = System.Drawing.Color.Black; this.labelTitleViewer.InitVisible = true; this.labelTitleViewer.LineSpacing = 0F; - this.labelTitleViewer.Location = new System.Drawing.Point(535, 562); + this.labelTitleViewer.Location = new System.Drawing.Point(535, 541); this.labelTitleViewer.Name = "labelTitleViewer"; this.labelTitleViewer.Size = new System.Drawing.Size(200, 30); this.labelTitleViewer.TabIndex = 852; @@ -760,7 +760,7 @@ this.checkBoxNotLoginMenuStatistics.ImageCheckBox = null; this.checkBoxNotLoginMenuStatistics.ImageUnCheckBox = null; this.checkBoxNotLoginMenuStatistics.InitVisible = true; - this.checkBoxNotLoginMenuStatistics.Location = new System.Drawing.Point(925, 531); + this.checkBoxNotLoginMenuStatistics.Location = new System.Drawing.Point(925, 510); this.checkBoxNotLoginMenuStatistics.Name = "checkBoxNotLoginMenuStatistics"; this.checkBoxNotLoginMenuStatistics.Size = new System.Drawing.Size(29, 30); this.checkBoxNotLoginMenuStatistics.TabIndex = 630; @@ -782,7 +782,7 @@ this.checkBoxL3MenuStatistics.ImageCheckBox = null; this.checkBoxL3MenuStatistics.ImageUnCheckBox = null; this.checkBoxL3MenuStatistics.InitVisible = true; - this.checkBoxL3MenuStatistics.Location = new System.Drawing.Point(875, 531); + this.checkBoxL3MenuStatistics.Location = new System.Drawing.Point(875, 510); this.checkBoxL3MenuStatistics.Name = "checkBoxL3MenuStatistics"; this.checkBoxL3MenuStatistics.Size = new System.Drawing.Size(29, 30); this.checkBoxL3MenuStatistics.TabIndex = 631; @@ -804,7 +804,7 @@ this.checkBoxL2MenuStatistics.ImageCheckBox = null; this.checkBoxL2MenuStatistics.ImageUnCheckBox = null; this.checkBoxL2MenuStatistics.InitVisible = true; - this.checkBoxL2MenuStatistics.Location = new System.Drawing.Point(825, 531); + this.checkBoxL2MenuStatistics.Location = new System.Drawing.Point(825, 510); this.checkBoxL2MenuStatistics.Name = "checkBoxL2MenuStatistics"; this.checkBoxL2MenuStatistics.Size = new System.Drawing.Size(29, 30); this.checkBoxL2MenuStatistics.TabIndex = 632; @@ -826,7 +826,7 @@ this.checkBoxL1MenuStatistics.ImageCheckBox = null; this.checkBoxL1MenuStatistics.ImageUnCheckBox = null; this.checkBoxL1MenuStatistics.InitVisible = true; - this.checkBoxL1MenuStatistics.Location = new System.Drawing.Point(775, 531); + this.checkBoxL1MenuStatistics.Location = new System.Drawing.Point(775, 510); this.checkBoxL1MenuStatistics.Name = "checkBoxL1MenuStatistics"; this.checkBoxL1MenuStatistics.Size = new System.Drawing.Size(29, 30); this.checkBoxL1MenuStatistics.TabIndex = 629; @@ -845,7 +845,7 @@ this.labelTitleStatistics.ForeColor = System.Drawing.Color.Black; this.labelTitleStatistics.InitVisible = true; this.labelTitleStatistics.LineSpacing = 0F; - this.labelTitleStatistics.Location = new System.Drawing.Point(535, 531); + this.labelTitleStatistics.Location = new System.Drawing.Point(535, 510); this.labelTitleStatistics.Name = "labelTitleStatistics"; this.labelTitleStatistics.Size = new System.Drawing.Size(200, 30); this.labelTitleStatistics.TabIndex = 628; @@ -1419,7 +1419,7 @@ this.checkBoxNotLoginMenuDataBackup.ImageCheckBox = null; this.checkBoxNotLoginMenuDataBackup.ImageUnCheckBox = null; this.checkBoxNotLoginMenuDataBackup.InitVisible = true; - this.checkBoxNotLoginMenuDataBackup.Location = new System.Drawing.Point(925, 500); + this.checkBoxNotLoginMenuDataBackup.Location = new System.Drawing.Point(925, 474); this.checkBoxNotLoginMenuDataBackup.Name = "checkBoxNotLoginMenuDataBackup"; this.checkBoxNotLoginMenuDataBackup.Size = new System.Drawing.Size(29, 30); this.checkBoxNotLoginMenuDataBackup.TabIndex = 627; @@ -1440,7 +1440,7 @@ this.checkBoxL3MenuDataBackup.ImageCheckBox = null; this.checkBoxL3MenuDataBackup.ImageUnCheckBox = null; this.checkBoxL3MenuDataBackup.InitVisible = true; - this.checkBoxL3MenuDataBackup.Location = new System.Drawing.Point(875, 500); + this.checkBoxL3MenuDataBackup.Location = new System.Drawing.Point(875, 474); this.checkBoxL3MenuDataBackup.Name = "checkBoxL3MenuDataBackup"; this.checkBoxL3MenuDataBackup.Size = new System.Drawing.Size(29, 30); this.checkBoxL3MenuDataBackup.TabIndex = 625; @@ -1482,7 +1482,7 @@ this.checkBoxL2MenuDataBackup.ImageCheckBox = null; this.checkBoxL2MenuDataBackup.ImageUnCheckBox = null; this.checkBoxL2MenuDataBackup.InitVisible = true; - this.checkBoxL2MenuDataBackup.Location = new System.Drawing.Point(825, 500); + this.checkBoxL2MenuDataBackup.Location = new System.Drawing.Point(825, 474); this.checkBoxL2MenuDataBackup.Name = "checkBoxL2MenuDataBackup"; this.checkBoxL2MenuDataBackup.Size = new System.Drawing.Size(29, 30); this.checkBoxL2MenuDataBackup.TabIndex = 617; @@ -1524,7 +1524,7 @@ this.checkBoxL1MenuDataBackup.ImageCheckBox = null; this.checkBoxL1MenuDataBackup.ImageUnCheckBox = null; this.checkBoxL1MenuDataBackup.InitVisible = true; - this.checkBoxL1MenuDataBackup.Location = new System.Drawing.Point(775, 500); + this.checkBoxL1MenuDataBackup.Location = new System.Drawing.Point(775, 474); this.checkBoxL1MenuDataBackup.Name = "checkBoxL1MenuDataBackup"; this.checkBoxL1MenuDataBackup.Size = new System.Drawing.Size(29, 30); this.checkBoxL1MenuDataBackup.TabIndex = 609; @@ -1546,7 +1546,7 @@ this.checkBoxNotLoginMenuUser.ImageCheckBox = null; this.checkBoxNotLoginMenuUser.ImageUnCheckBox = null; this.checkBoxNotLoginMenuUser.InitVisible = true; - this.checkBoxNotLoginMenuUser.Location = new System.Drawing.Point(925, 593); + this.checkBoxNotLoginMenuUser.Location = new System.Drawing.Point(925, 613); this.checkBoxNotLoginMenuUser.Name = "checkBoxNotLoginMenuUser"; this.checkBoxNotLoginMenuUser.Size = new System.Drawing.Size(29, 30); this.checkBoxNotLoginMenuUser.TabIndex = 607; @@ -1568,7 +1568,7 @@ this.checkBoxL3MenuUser.ImageCheckBox = null; this.checkBoxL3MenuUser.ImageUnCheckBox = null; this.checkBoxL3MenuUser.InitVisible = true; - this.checkBoxL3MenuUser.Location = new System.Drawing.Point(875, 593); + this.checkBoxL3MenuUser.Location = new System.Drawing.Point(875, 613); this.checkBoxL3MenuUser.Name = "checkBoxL3MenuUser"; this.checkBoxL3MenuUser.Size = new System.Drawing.Size(29, 30); this.checkBoxL3MenuUser.TabIndex = 608; @@ -1706,16 +1706,17 @@ this.checkBoxL2MenuUser.BackPictureBox = this.smartForm1; this.checkBoxL2MenuUser.BackPictureBox1 = null; this.checkBoxL2MenuUser.BackPictureBox2 = null; - this.checkBoxL2MenuUser.CheckBoxBackColor = System.Drawing.Color.White; + this.checkBoxL2MenuUser.CheckBoxBackColor = System.Drawing.Color.Silver; this.checkBoxL2MenuUser.CheckBoxCheckColor = System.Drawing.Color.Green; this.checkBoxL2MenuUser.CheckBoxForeColor = System.Drawing.Color.Black; this.checkBoxL2MenuUser.CheckBoxSymbolSize = 25; this.checkBoxL2MenuUser.Checked = false; this.checkBoxL2MenuUser.CheckLineWidth = 3; + this.checkBoxL2MenuUser.Enabled = false; this.checkBoxL2MenuUser.ImageCheckBox = null; this.checkBoxL2MenuUser.ImageUnCheckBox = null; this.checkBoxL2MenuUser.InitVisible = true; - this.checkBoxL2MenuUser.Location = new System.Drawing.Point(825, 593); + this.checkBoxL2MenuUser.Location = new System.Drawing.Point(825, 613); this.checkBoxL2MenuUser.Name = "checkBoxL2MenuUser"; this.checkBoxL2MenuUser.Size = new System.Drawing.Size(29, 30); this.checkBoxL2MenuUser.TabIndex = 567; @@ -1790,16 +1791,17 @@ this.checkBoxL1MenuUser.BackPictureBox = this.smartForm1; this.checkBoxL1MenuUser.BackPictureBox1 = null; this.checkBoxL1MenuUser.BackPictureBox2 = null; - this.checkBoxL1MenuUser.CheckBoxBackColor = System.Drawing.Color.White; + this.checkBoxL1MenuUser.CheckBoxBackColor = System.Drawing.Color.Silver; this.checkBoxL1MenuUser.CheckBoxCheckColor = System.Drawing.Color.Green; this.checkBoxL1MenuUser.CheckBoxForeColor = System.Drawing.Color.Black; this.checkBoxL1MenuUser.CheckBoxSymbolSize = 25; this.checkBoxL1MenuUser.Checked = false; this.checkBoxL1MenuUser.CheckLineWidth = 3; + this.checkBoxL1MenuUser.Enabled = false; this.checkBoxL1MenuUser.ImageCheckBox = null; this.checkBoxL1MenuUser.ImageUnCheckBox = null; this.checkBoxL1MenuUser.InitVisible = true; - this.checkBoxL1MenuUser.Location = new System.Drawing.Point(775, 593); + this.checkBoxL1MenuUser.Location = new System.Drawing.Point(775, 613); this.checkBoxL1MenuUser.Name = "checkBoxL1MenuUser"; this.checkBoxL1MenuUser.Size = new System.Drawing.Size(29, 30); this.checkBoxL1MenuUser.TabIndex = 569; @@ -1967,7 +1969,7 @@ this.checkBoxNotLoginMenuTime.ImageCheckBox = null; this.checkBoxNotLoginMenuTime.ImageUnCheckBox = null; this.checkBoxNotLoginMenuTime.InitVisible = true; - this.checkBoxNotLoginMenuTime.Location = new System.Drawing.Point(925, 469); + this.checkBoxNotLoginMenuTime.Location = new System.Drawing.Point(925, 577); this.checkBoxNotLoginMenuTime.Name = "checkBoxNotLoginMenuTime"; this.checkBoxNotLoginMenuTime.Size = new System.Drawing.Size(29, 30); this.checkBoxNotLoginMenuTime.TabIndex = 581; @@ -1989,7 +1991,7 @@ this.checkBoxL3MenuTime.ImageCheckBox = null; this.checkBoxL3MenuTime.ImageUnCheckBox = null; this.checkBoxL3MenuTime.InitVisible = true; - this.checkBoxL3MenuTime.Location = new System.Drawing.Point(875, 469); + this.checkBoxL3MenuTime.Location = new System.Drawing.Point(875, 577); this.checkBoxL3MenuTime.Name = "checkBoxL3MenuTime"; this.checkBoxL3MenuTime.Size = new System.Drawing.Size(29, 30); this.checkBoxL3MenuTime.TabIndex = 580; @@ -2094,7 +2096,7 @@ this.checkBoxL2MenuTime.ImageCheckBox = null; this.checkBoxL2MenuTime.ImageUnCheckBox = null; this.checkBoxL2MenuTime.InitVisible = true; - this.checkBoxL2MenuTime.Location = new System.Drawing.Point(825, 469); + this.checkBoxL2MenuTime.Location = new System.Drawing.Point(825, 577); this.checkBoxL2MenuTime.Name = "checkBoxL2MenuTime"; this.checkBoxL2MenuTime.Size = new System.Drawing.Size(29, 30); this.checkBoxL2MenuTime.TabIndex = 575; @@ -2178,7 +2180,7 @@ this.checkBoxL1MenuTime.ImageCheckBox = null; this.checkBoxL1MenuTime.ImageUnCheckBox = null; this.checkBoxL1MenuTime.InitVisible = true; - this.checkBoxL1MenuTime.Location = new System.Drawing.Point(775, 469); + this.checkBoxL1MenuTime.Location = new System.Drawing.Point(775, 577); this.checkBoxL1MenuTime.Name = "checkBoxL1MenuTime"; this.checkBoxL1MenuTime.Size = new System.Drawing.Size(29, 30); this.checkBoxL1MenuTime.TabIndex = 577; @@ -2309,7 +2311,7 @@ this.smartLabel21.Name = "smartLabel21"; this.smartLabel21.Size = new System.Drawing.Size(200, 30); this.smartLabel21.TabIndex = 555; - this.smartLabel21.Text = "Equipment"; + this.smartLabel21.Text = "Equipment Test"; this.smartLabel21.TextHAlign = SmartX.SmartLabel.TextHorAlign.Middle; this.smartLabel21.TextVAlign = SmartX.SmartLabel.TextVerAlign.Middle; this.smartLabel21.Visible = false; @@ -2326,7 +2328,7 @@ this.smartLabel19.ForeColor = System.Drawing.Color.Black; this.smartLabel19.InitVisible = true; this.smartLabel19.LineSpacing = 0F; - this.smartLabel19.Location = new System.Drawing.Point(535, 593); + this.smartLabel19.Location = new System.Drawing.Point(535, 613); this.smartLabel19.Name = "smartLabel19"; this.smartLabel19.Size = new System.Drawing.Size(200, 30); this.smartLabel19.TabIndex = 553; @@ -2486,7 +2488,7 @@ this.smartLabel10.ForeColor = System.Drawing.Color.Black; this.smartLabel10.InitVisible = true; this.smartLabel10.LineSpacing = 0F; - this.smartLabel10.Location = new System.Drawing.Point(535, 500); + this.smartLabel10.Location = new System.Drawing.Point(535, 474); this.smartLabel10.Name = "smartLabel10"; this.smartLabel10.Size = new System.Drawing.Size(200, 30); this.smartLabel10.TabIndex = 545; @@ -2526,7 +2528,7 @@ this.smartLabel8.ForeColor = System.Drawing.Color.Black; this.smartLabel8.InitVisible = true; this.smartLabel8.LineSpacing = 0F; - this.smartLabel8.Location = new System.Drawing.Point(535, 469); + this.smartLabel8.Location = new System.Drawing.Point(535, 577); this.smartLabel8.Name = "smartLabel8"; this.smartLabel8.Size = new System.Drawing.Size(200, 30); this.smartLabel8.TabIndex = 543; diff --git a/INT69DC_7C/INT69DC_7C.csproj b/INT69DC_7C/INT69DC_7C.csproj index c6ea7b1..771b178 100644 --- a/INT69DC_7C/INT69DC_7C.csproj +++ b/INT69DC_7C/INT69DC_7C.csproj @@ -229,9 +229,15 @@ Form - + DialogFormLogOn.cs + + Form + + + DialogFormLogOn1.cs + Form @@ -510,6 +516,10 @@ DialogFormLogOn.cs Designer + + DialogFormLogOn1.cs + Designer + DialogFormPasswordKeyPad1.cs Designer diff --git a/INT69DC_7C/Part11_UserManager/UserItem.cs b/INT69DC_7C/Part11_UserManager/UserItem.cs index 52aa3f0..bd1722a 100644 --- a/INT69DC_7C/Part11_UserManager/UserItem.cs +++ b/INT69DC_7C/Part11_UserManager/UserItem.cs @@ -10,8 +10,6 @@ namespace INT69DC_7C.Part11_UserManager public class UserItem { #region Field - private bool m_IsUpdate; - private string m_ID; private string m_Password; private string m_PreviousPassword1; @@ -44,12 +42,6 @@ namespace INT69DC_7C.Part11_UserManager #endregion #region Property - public bool IsUpdate - { - get { return this.m_IsUpdate; } - set { this.m_IsUpdate = value; } - } - public string ID { get { return this.m_ID; } @@ -141,8 +133,6 @@ namespace INT69DC_7C.Part11_UserManager #region Method private void Initialize() { - this.IsUpdate = false; - this.ID = "-"; this.Password = "-"; @@ -387,7 +377,7 @@ namespace INT69DC_7C.Part11_UserManager this.IsMenuEquipment = false; this.IsMenuIOTest = false; this.IsMenuStatistics = false; - this.IsMenuUser = false; + this.IsMenuUser = true; this.IsMenuUserGroupEditor = false; this.IsMenuViewer = false; } diff --git a/INT69DC_7C/Part11_UserManager/UserManager.Structure.cs b/INT69DC_7C/Part11_UserManager/UserManager.Structure.cs index 4b678a0..999f5cc 100644 --- a/INT69DC_7C/Part11_UserManager/UserManager.Structure.cs +++ b/INT69DC_7C/Part11_UserManager/UserManager.Structure.cs @@ -69,26 +69,26 @@ namespace INT69DC_7C.Part11_UserManager USER_MGR_STATUS_OK = 0x00, // error status - USER_MGR_STATUS_ID_NOT_FOUND, // not found the user id - USER_MGR_STATUS_ID_DUPLICATE, // duplicate on id - USER_MGR_STATUS_ID_LENGTH_UNDER, // under the minimum length of id - USER_MGR_STATUS_ID_LENGTH_OVER, // over the maximum length of id - USER_MGR_STATUS_ID_CONT_LETTER, // continue characters or duplicate characters of id - USER_MGR_STATUS_ID_INVALID_CHAR, // include the invalid character on id - USER_MGR_STATUS_ID_ACCOUNT_LOCK, + USER_MGR_STATUS_ID_NOT_FOUND, // 1 - not found the user id + USER_MGR_STATUS_ID_DUPLICATE, // 2 - duplicate on id + USER_MGR_STATUS_ID_LENGTH_UNDER, // 3 - under the minimum length of id + USER_MGR_STATUS_ID_LENGTH_OVER, // 4 - over the maximum length of id + USER_MGR_STATUS_ID_CONT_LETTER, // 5 - continue characters or duplicate characters of id + USER_MGR_STATUS_ID_INVALID_CHAR, // 6 - include the invalid character on id + USER_MGR_STATUS_ID_ACCOUNT_LOCK, // 7 - Account Lock - USER_MGR_STATUS_PW_DUPLICATE_HISTORY, // duplicate on password history - USER_MGR_STATUS_PW_LENGTH_UNDER, // under the minimum length of password - USER_MGR_STATUS_PW_LENGTH_OVER, // over the maximum length of password - USER_MGR_STATUS_PW_CONT_LETTER, // continue characters or duplicate characters of password - USER_MGR_STATUS_PW_INVALID_CHAR, // include the invalid character on password - USER_MGR_STATUS_PW_EACH_MIN_CHAR, // not include minimum characters on password - USER_MGR_STATUS_PW_NOT_SAME, // password error - USER_MGR_STATUS_PW_PASSWORD_LOCK, + USER_MGR_STATUS_PW_DUPLICATE_HISTORY, // 8 - duplicate on password history + USER_MGR_STATUS_PW_LENGTH_UNDER, // 9 - under the minimum length of password + USER_MGR_STATUS_PW_LENGTH_OVER, // 10 - over the maximum length of password + USER_MGR_STATUS_PW_CONT_LETTER, // 11 - continue characters or duplicate characters of password + USER_MGR_STATUS_PW_INVALID_CHAR, // 12 - include the invalid character on password + USER_MGR_STATUS_PW_EACH_MIN_CHAR, // 13 - not include minimum characters on password + USER_MGR_STATUS_PW_NOT_SAME, // 14 - password error + USER_MGR_STATUS_PW_PASSWORD_LOCK, // 15 - Password Lock - USER_MGR_STATUS_OTHER_OVER_PASSWORD_PERIOD, // over maximum password expire period (days) - USER_MGR_STATUS_OTHER_OVER_ACCOUNT_PERIOD, // over maximum account expire period (days) - USER_MGR_STATUS_OTHER_OVER_LOGIN_TIMEOUT, // over maximum auto logout time (minute) + USER_MGR_STATUS_OTHER_OVER_PASSWORD_PERIOD, // 16 - over maximum password expire period (days) + USER_MGR_STATUS_OTHER_OVER_ACCOUNT_PERIOD, // 17 - over maximum account expire period (days) + USER_MGR_STATUS_OTHER_OVER_LOGIN_TIMEOUT, // 18 - over maximum auto logout time (minute) USER_MGR_STATUS_MAX, };