Как сделать так, чтобы значение текстового поля пароля было видно, когда курсор находится над значком в winform - PullRequest
0 голосов
/ 07 июля 2019

Я создаю приложение winforms, используя C#.Теперь я хочу добавить маленький глазок Icon рядом с паролем textbox, чтобы, когда пользователь наводит курсор на Icon, можно было видеть, что было введено до сих пор.Поэтому при наведении курсора на textbox должно отображаться 123, а когда пользователь покидает значок, поле снова должно отображаться как ***.Есть ли способ сделать это с C#?

Ответы [ 3 ]

5 голосов
/ 07 июля 2019
textBox.UseSystemPasswordChar = true;
icon.MouseEnter += (sender, e) => textBox.UseSystemPasswordChar = false;
icon.MouseLeave += (sender, e) => textBox.UseSystemPasswordChar = true;

enter image description here

1 голос
/ 07 июля 2019

При событии наведения:

Рекомендуется - используйте условие if для проверки, если при наведении вызвано свойство & 1003 * и установите true или false в зависимости от действия.

//hover condition
if() {   
   textBox1.UseSystemPasswordChar = False;
} else {
   textBox1.UseSystemPasswordChar = True;
}

или

textBox1.PasswordChar = '\0';

Свойство UseSystemPasswordChar имеет приоритет над свойством PasswordChar. Всякий раз, когда UseSystemPasswordChar имеет значение true, используется системный символ пароля по умолчанию, а любой набор символов PasswordChar игнорируется. - Источник

Больше решений можно найти на здесь

Официальная документация .Net Framework 4.8:

UseSystemPasswordChar - Эта ссылка

PasswordChar - Эта ссылка (Текстовое поле без маски)

MaskedTextBox.PasswordChar - Эта ссылка

0 голосов
/ 07 июля 2019

При наведении курсора на значок вам нужно изменить PasswordChar свойство TextBox на char.MinValue, например:

textBox1.PasswordChar = char.MinValue;

И затем, если пользователь оставит значок, измените это свойство снова

textBox1.PasswordChar = '*';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...