PDA

View Full Version : توضیح یک کد



محمد هدایتی
پنج شنبه 11 شهریور 1389, 23:07 عصر
این کد مربوط به سفارشی کردن textbox برای این که فقط اعداد را قبول کنه هست کسی می تونه یه کم توضیح بده دربارش بچه ها من صفر کیلومترم کمک کنید لطفا!!!!


bool TextCheck = false;
bool KeyPressed = false;
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (!KeyPressed)
{
if (!TextCheck)
{
TextCheck = true;
string Text = textBox1.Text;
textBox1.Text = "";
for (int i = 0; i < Text.Length; i++)
if (Convert.ToInt16(Text[i]) > 47 && Convert.ToInt16(Text[i]) < 58)
textBox1.Text += Text[i];
textBox1.Select(textBox1.TextLength, 0);
TextCheck = false;
}
KeyPressed = false;
}
}

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
KeyPressed = true;
e.Handled = Char.IsDigit(e.KeyChar) == false && Char.IsControl(e.KeyChar) == false;
if (!char.IsDigit(e.KeyChar) && ((int)e.KeyChar) != 8)
KeyPressed = false;

}

Merila_Rad
پنج شنبه 11 شهریور 1389, 23:48 عصر
بررسی کاراکترها بر اساس کد اسکی آنهاست یعنی اول کد اسکی کاراکتر را پیدا میکنه و با توجه به اینکه کد اسکی اعداد از 48 شروع و به 57 ختم میشه تشخیص میده که کاراکتر عدد بوده یا نه

#aliyari_C
جمعه 12 شهریور 1389, 00:24 صبح
سلام


int i ;
e.Handled = !int.TryParse(e.KeyChar.ToString(), out i) && !(e.KeyChar == (char)Keys.Back);

در این کد فقط کلیدهای عددی و همچنین کلید bk sp کار می کند, برای بقیه کلید ها (چب , راست و ...) کد رو درک کن و خودت اضافه کن تا بهتر یاد بگیری
موفق و تندرست باشی