محدودیت در کاراکتر های ورودی

Jaf@r

Member
سلام
من به يك مشكل بزرگ در vb برخورد كرده ام.
مشكل اينه:
كدي هست كه من با اون بتونم جلوي نوشتن كاركتر هايي به جز اعداد رو در text box بگيرم.
يعني فقط بشه داخل textbox عدد نوشت.

من نمي خوام از كامپوننت masked editاستفاده كنم.
ممنون.
 

MnavidM

Active Member
سلام.

برای موضوعی که ایجاد می کنید عنوان مناسب بگذارید.

قوانین سایت رو ببینید.

عنوان تاپیک رو این دفعه خودم درست میکنم .

تکرار نشود.
 

MnavidM

Active Member
سلام.


ببین برای این کار باید در رویداد keypress اون Text بررسی کنی که کاراکتری که وارد میکنه چی هست و اگر به جز عدد بود Key=#0 .

زیاد سخت نیست . یه مقدار باهاش ور برو .

موفق باشی.
نوید.
 

saalek110

Well-Known Member
حالا يك ((تكست باكس)) روي فرم بيافزاييد و كد زير را به ((پنجره كد)) بيافزاييد:

[ltr]Private Sub text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57
'Ok to type these keys
Case Else
KeyAscii = 0
End Select
End Sub[/ltr]

نتيجه اين ميشه كه كاربر اگر اعداد را بزند، داخل ((تكست باكس)) تايپ ميشه، ولي اگر غير اعداد را بزنه، چيزي تايپ نمي شه
=====================

مطلب بالا قسمتي از پست 171 تاپيك آموزش ويژوال بيسيك است.

=====================
راه ديگه كه فكر كنم مقرون به صرفه نباشه ....كار با توابع رشته اي است .. كه ابدا قابل اجرا نيست

راه ديگه اي به ذهنم نمي رسه.
نظر خود را بفرماييد تا جلو برويم.
.درود.
.
 

Jaf@r

Member
متشكرم
ولي يك جاي برنامه شما ايراد داره - كه به وسيله كليد back space نميشه اعداد رو پاك كرد البته فكر مي كنم راحت باشه
من خودم حلش مي كنم.
 

MnavidM

Active Member
Jaf@r گفت:
متشكرم
ولي يك جاي برنامه شما ايراد داره - كه به وسيله كليد back space نميشه اعداد رو پاك كرد البته فكر مي كنم راحت باشه
من خودم حلش مي كنم.
برای اون کار باید اول کد کلید back space رو بدست بیاری (که 8 هست).

حالا تو اون برنامه که سالک نوشت شما اول میای بررسی میکنی که آیا Key مخالف 8 هست یا نه ؟

اگر مخالف 8 بود که کار رو انجام میده , دی غیر این صورت هیچ.

موفق باشی.
نوید.
 

جدیدترین ارسال ها

بالا