Citat:
Ursprungligen postat av Ralph_Wiggum
coolt! Nten fr mig att lsa r att ndra till passwordchars i samma textruta som vanlig text. Det ska bli intressant att se hur du lste det!
Sitter inte hemma just nu men har tillgng till den
gamla koden av textboxen
hr r ett snabbt litet exempel p hur jag gjorde innan jag skrev om koden (
som r gammal :P )
detta r bara en
liten bit av den gammla textboxen "sjlva" erstta med stjrna delen
Inte renskrivit eller optimerat s dm inte mig efter denna koden
men du fattar principen tror jag
Kod:
bool pass = false; // r det lsenord eller rentext som gller ?
string password = ""; //Lagring av lsenordet
string username = ""; //Lagring av anvndarnamnet
bool txtPass = true; //Vanlig textbox eller inte?
string splitter = " | "; //Splittern
//r det dags fr Lsenord ?? UTAN SPECIALTECKEN!
if (pass && !e.Control && !e.Alt)
{
//Kontrollerar om det r rtt typ av input/tecken
if (Char.IsLetterOrDigit(tmp, 0)) // a-Z & 0-9
{
//Shift + Nummer/Annat tecken = Specialtecken, Allts inte tilltet
if (!Char.IsLetter(tmp, 0) && e.Shift)
{ e.SuppressKeyPress = true; }
else
{
e.SuppressKeyPress = true;
password += tmp; //Lgger till tecknet i password strngen
inTXT.Text += @"*"; //Skriver ut en * istllet
}
}
//Kollar om det r BackSpace
else if (e.KeyCode == Keys.Back)
{
//Tar bort sista tecknet i lsenordet.
if (password.Length > 0)
password = password.Substring(0, password.Length - 1);
//Lsenordet tomt (tabort splitern och brja editera anvndarnamnet)
if (!inTXT.Text.EndsWith("*"))
{
e.SuppressKeyPress = true;
pass = false;
inTXT.Text = inTXT.Text.Replace(splitter, "");
}
}