PDA

View Full Version : شرط برای textbox که فقط عدد قبول کند،اگر textbox خالی هم بود error ندهد



titi1363
دوشنبه 18 اردیبهشت 1391, 16:53 عصر
میخوام برای textbox ی شرط بذارم که فقط عدد قبول کند،اگر textbox خالی هم بود error ندهد ( یعنی بقیه کار انجام شود)

arash69
دوشنبه 18 اردیبهشت 1391, 17:06 عصر
سلام
شما می تونید با استفاده از کد اسکی هر یک از کاراکتر ها رو کنترل کنید و اگه توی اون بازه اعداد نبود، قبول نکنید.

titi1363
دوشنبه 18 اردیبهشت 1391, 17:17 عصر
ببینید دارم شرط میذارم برا کارم. دو تا textbox دارم اولی حتما باید srtingباشه و مخالف تهی ودومین textboxهم باید عدد باشه ،اگر عدد هم وارد نشد یعنی تهی بودerror نده
کدم اینه
if (textbox1.Text != "" && int.TryParse(textbox2.Text, out i) == true)
حالا میخوام قسمت آخر "اگر عدد هم وارد نشد یعنی تهی بودerror نده" را با or بهش اضافه کنم
؟؟؟؟؟؟؟؟

amirrr3
دوشنبه 18 اردیبهشت 1391, 17:21 عصر
واسه اینکه فقط عدد وارد کنی که باید تو رخداد keypress این کد رو بنویسی


if (!char.IsDigit(e.KeyChar)) e.Handled = true;

واسه اینکه ارور نده هم راه های زیادی داری از جمله رخداد leave که می تونی اگه خالی بود یه دستور واسش تعیین کنی
یا می تونی از try catch استفاده کنی
موفق باشی

titi1363
دوشنبه 18 اردیبهشت 1391, 17:27 عصر
مرسی.ببینید این کدی که نوشتم درست اجرا میشه فقط زمانی که عدد ندم خالی باشه (حتما لازم نیست عدد(کد)وارد بشه) اررور میده،میخوام این مشکل حل بشه

titi1363
دوشنبه 18 اردیبهشت 1391, 18:09 عصر
مرسی آقای .amirrr3 (http://barnamenevis.org/member.php?218999-amirrr3)

amirrr3
دوشنبه 18 اردیبهشت 1391, 19:13 عصر
تو رخداد Leave تکست باکست این کد رو بنویس تا هر بار که تکس باکست خالیه ارور نده


if(textbox1.text==string.empty) textbox1.text ="0";

titi1363
سه شنبه 19 اردیبهشت 1391, 10:50 صبح
مرسی آقایamirrr3 خیلی لطف کردین
(http://barnamenevis.org/member.php?218999-amirrr3)

aminaltavista
شنبه 10 تیر 1391, 07:27 صبح
if (!char.IsDigit(e.KeyChar)) e.Handled = true;

سلام
میشه این خط کد رو بیشتر برام توضیح بدید!
IsDigit و keyChar چیه :متفکر:

returnx
شنبه 10 تیر 1391, 08:20 صبح
keychar بهتون کارکتری که از طرف کیبورد به Textbox فرستاده شده رو بر می گردونه ، IsDigit هم که مشخصه ، متدی هست که چک میکنه کارکتر مورد نظر از نوع عددی هست یا نه ، اگر بود true رو بر میگردونه در غیر اینصورت False ...

uniqueboy_ara
شنبه 10 تیر 1391, 08:45 صبح
اون کدی که دوستمون دادن درسته، فقط مشکلش اینه که BackSpace رو قبول نمیکنه! این کاملشه :)
if (char.IsDigit(e.KeyChar) | e.KeyChar == (char)Keys.Back)
e.Handled = false;
else
e.Handled = true;