问题
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.
回答1:
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.
回答2:
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.
回答3:
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.
回答4:
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