I have a PasswordBox
and I need to use this control even as a TextBox
.
I need to display normal text and not the typical black dots
Is there a property to do this? Thanks.
Here is your answer:
- Use a Textbox
- When you want the text masked set TextBox.UseSystemPasswordChar = true;
- when you want to see the text set TextBox.UseSystemPasswordChar = false;
- Profit
Example:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked == true)
{
TextBox.UseSystemPasswordChar = true;
}
else
{
TextBox.UseSystemPasswordChar = false;
}
}
Black dots when you want them, words when you don't. You can use what ever trigger/logic you want for the turning on and off but this way you are only using one control and get all the functionality that you specified you needed.
Your best solution would be to have a Password Box with a checkbox underneath that says "Show characters" and then create a Trigger on the Password Box that overlays a TextBox on it for typing and retrieve the text as appropriate.
Superimpose a TextBox
and a PasswordBox
, keeping only one Visible
at a time. When you want to switch over, copy over the value of the active one to the other one, and switch their visibilities. Simple.
I think everybody agrees on this very basic solution: Use a TextBox
if you want to display what the user is typing.
来源:https://stackoverflow.com/questions/12517969/how-to-use-passwordbox-as-textbox