Не понимаю как правильно сделать чекбокс на показ пароля если отмечен. Есть вот такой код
private void cbShowPass_CheckedChanged(object sender, EventArgs e)
{
if (cbShowPass.Checked)
{
tbPass.UseSystemPasswordChar = false;
} else
{
tbPass.UseSystemPasswordChar = true;
}
}
Именно этот код ведет себя странно. Суть такая, форма стартует я вввожу пароль и он показывается не скрытым, ставлю чекбокс он не скрытый. Очищаю поле, опять ввожу пароль, в этот раз он уже скрыт, по клику на чекбокс он показывается. В чем моя ошибка? И как сделать свои значки скрытого пароля? В свойствах текстбокса я поставил "*" такой символ. Если отрабатывать код выше, то там точки скрывают пароль.
Обновление 2 UseSystemPasswordChar - использовать системный символ пароля. В случае если вам нужно свой, достаточно кода(изменил код оригинального ответа)
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
textBox1.PasswordChar = checkBox1.Checked ? '*' : '\0';
}
Обновление 1
У Вас всё корректно работает. Изначально режим пароля отключён. if(checkbox.Checked) - если чекбокс "чекнут", то UseSystemPasswordChar = false, т.е. отключить. Он итак был отключён, далее, при снятии галочки, свойство Checked становится false и в этом случае Вы ставите UseSystemPassword = true.
Оригинальный ответ
Скорее всего что-то не то с начальными настройками, сделайте следующее для проверки:
Дважды кликните по чекбоксу и добавьте такой код, переименовав контролы под свои имена
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
textBox1.UseSystemPasswordChar = checkBox1.Checked;
}
Запустите созданную форму.
У меня всё работает. Если у вас не заработает обновите версию .netframework (можно просто поставить последнюю visual studio). Если работает, значит что-то ещё в Вашем проекте влияет на вывод в текстбокс.
Приведённые действия корректно работают. Windows 10, Visual Studio 2017(ставил неделю назад)
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники