PDA

View Full Version : سوال: گذاشتن محمدوديت درtextbox



Iran58
دوشنبه 11 خرداد 1388, 17:35 عصر
چگونه مي توانم كاربررادرهنگام ايجادپسوردجديدمجبوركنم درtxtpassبرنامه هم ازحرفوهم عدداستفاده كند وهمچنين طول رمزبين 5تا12باشد(برنامه تحت ويندوزمي باشد)

captain_black81
دوشنبه 11 خرداد 1388, 19:20 عصر
بنظرم جالب اومد برات نوشتم
اول فک میکنیم هیچ شرطی برقرار نیست بعد کاراکترا رو یکی یکی چک میکنیم


string pass=textBox1.Text;
bool isDigit = false;
bool isAlphabet = false;
int lenght = pass.Length;
for (int i = 0; i == lenght-1; i++)
{
if (char.IsDigit(pass, i))
{
isDigit = true;
break;
}
if (char.IsControl(pass, i))
{
isAlphabet = true;
break;
}
}
if (isAlphabet == true && isDigit == true && lenght >= 5 || isAlphabet == true && isDigit == true && lenght <= 12)
{
// its true
}
else
{
//error
}

Reza_Yarahmadi
دوشنبه 11 خرداد 1388, 22:26 عصر
برای اینکه کاربر بتونه فقط عدد و حرف وارد کنه میتونی از کد زیر استفاده کنی


e.Handled = Char.IsDigit(e.KeyChar) == false && Char.IsLetter(e.KeyChar) == false && Char.IsControl(e.KeyChar) == false;
واسه اینکه تعداد کاراکترها هم از یه حدی بیشتر نشه میتونی از کد زیر استفاده کنی


if (textBox1.TextLength > 20)
e.Handled = true;
هر دو کد توی رویداد KeyPress نوشته میشه
امیدوارم به دردتون بخوره ، موفق باشید