public bool createDropDown(out string saveString)
        {
            // LOG
            string logMSG = "Selecting User from Dropdown";

            //GUI_Controls.uiLog.LOG(this, "dropDownMenu_Click", GUI_Controls.uiLog.LogLevel.EVENTS, logMSG);

            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, logMSG);
            // Create list of names, add them to an auto complete source
            List <string> UserNames = new List <string>();

            for (int i = 0; i < textBox_UserName.AutoCompleteCustomSource.Count; i++)
            {
                UserNames.Add(textBox_UserName.AutoCompleteCustomSource[i]);
            }

            // Show Overlay window
            RoboSep_UserConsole.showOverlay();
            RoboSep_UserConsole.getInstance().frmOverlay.BringToFront();

            // create new user select control form
            IniFile         LanguageINI    = GUI_Console.RoboSep_UserConsole.getInstance().LanguageINI;
            string          windowTitle    = LanguageINI.GetString("lblSelectUser");
            Form_UserSelect UserSelectMenu = new Form_UserSelect(UserNames, windowTitle);

            UserSelectMenu.ShowDialog();
            // check to see if user name was selected
            string temp = UserSelectMenu.User;

            saveString = "????";
            if (temp != null && temp != string.Empty)
            {
                saveString = temp;
            }


            bool userSelected = UserSelectMenu.DialogResult == DialogResult.OK;

            UserSelectMenu.Dispose();

            return(userSelected);
        }
        private void button_DeleteUser_Click(object sender, EventArgs e)
        {
            // Get list of user names
            List <string> UserNames = new List <string>();

            for (int i = 0; i < Users.Count; i++)
            {
                if (Users[i].Username != RoboSep_UserConsole.strCurrentUser && !RoboSep_UserDB.getInstance().IsPresetUser(Users[i].Username))
                {
                    UserNames.Add(Users[i].Username);
                }
            }

            // Show Overlay window
            RoboSep_UserConsole.showOverlay();
            RoboSep_UserConsole.getInstance().frmOverlay.BringToFront();

            // create new user select control form
            IniFile LanguageINI = GUI_Console.RoboSep_UserConsole.getInstance().LanguageINI;
            string  windowTitle = LanguageINI.GetString("lblSelectUserToDelete");

            Form_UserSelect UserSelectMenu = new Form_UserSelect(UserNames, windowTitle);

            UserSelectMenu.ShowDialog();

            RoboSep_UserConsole.hideOverlay();
            if (UserSelectMenu.DialogResult != DialogResult.OK)
            {
                UserSelectMenu.Dispose();
                ResumeLayout();
                return;
            }

            // check to see if user name was selected
            string selectedUser = UserSelectMenu.User;

            UserSelectMenu.Dispose();
            if (selectedUser == null && selectedUser == string.Empty)
            {
                return;
            }

            // Show Overlay window
            RoboSep_UserConsole.showOverlay();

            DeleteUser(selectedUser);

            // update the list
            UpdateUserProfiles();

            lvUser.UpdateScrollbar();

            RoboSep_UserConsole.hideOverlay();

            ResumeLayout();

            // LOG
            string logMSG = "Opening user screen to select user to be deleted.";

            //  (logMSG);
            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, logMSG);
        }
        private void button_CloneUser_Click(object sender, EventArgs e)
        {
            // Get list of user names
            List <string> UserNames = new List <string>();

            for (int i = 0; i < Users.Count; i++)
            {
                UserNames.Add(Users[i].Username);
            }

            // Show Overlay window
            RoboSep_UserConsole.showOverlay();
            RoboSep_UserConsole.getInstance().frmOverlay.BringToFront();

            // create new user select control form
            IniFile LanguageINI = GUI_Console.RoboSep_UserConsole.getInstance().LanguageINI;
            string  windowTitle = LanguageINI.GetString("lblSelectUserToClone");

            Form_UserSelect UserSelectMenu = new Form_UserSelect(UserNames, windowTitle);

            UserSelectMenu.ShowDialog();

            RoboSep_UserConsole.hideOverlay();
            if (UserSelectMenu.DialogResult != DialogResult.OK)
            {
                UserSelectMenu.Dispose();
                ResumeLayout();
                return;
            }

            // check to see if user name was selected
            string selectedUser = UserSelectMenu.User;

            UserSelectMenu.Dispose();
            if (selectedUser == null && selectedUser == string.Empty)
            {
                return;
            }

            // Show Overlay window
            RoboSep_UserConsole.showOverlay();

            Form_UserLoginNew NewUserForm = new Form_UserLoginNew(UserNames, null, true);

            NewUserForm.ShowDialog();
            string newUserLoginID = "";

            if (NewUserForm.DialogResult == DialogResult.OK)
            {
                newUserLoginID = (NewUserForm.NewUserLoginID);

                CloneUser(newUserLoginID, selectedUser);

                // update the list
                UpdateUserProfiles();

                // ensure the new user is visible
                ListViewItem lvItem = lvUser.FindItemWithText(newUserLoginID);
                if (lvItem != null)
                {
                    lvItem.Selected = true;
                    lvUser.EnsureVisible(lvItem.Index);
                }

                lvUser.UpdateScrollbar();
            }
            NewUserForm.Dispose();
            RoboSep_UserConsole.hideOverlay();

            ResumeLayout();

            // LOG
            string logMSG = "Opening user screen to select user to be cloned.";

            //  (logMSG);
            LogFile.AddMessage(System.Diagnostics.TraceLevel.Info, logMSG);
        }