PDA

View Full Version : سوال: حذف نشدن و ننوشتن در textbox و richtextbox



god of war 313
چهارشنبه 18 خرداد 1401, 19:00 عصر
سلام خدمت برنامه نویسان گل
من میخواستم بدونم چیکار باید بکنم که در vb.net از توی یک textbox و richtextbox کسی که برنامه رو اجرا میکنه بدون قفل کردن اون فیلد نه بتونه پاک کنه و نه چیزی بنویسه
با تشکر از شمایی که جواب میدی:قلب:

ROSTAM2
چهارشنبه 18 خرداد 1401, 19:22 عصر
سلام.
منظور از قفل کردن چیه؟ خصوصیت ReadOnly باید برابر True بشه.

اگه منظور بی اثر کردن کلیدهای کیبورد هست تاپیک در موردش قبلا ایجاد شده و استفاده از رویداد kEYPRESS هست.

ghasem31372
شنبه 21 خرداد 1401, 14:25 عصر
ممنون مفید بود

ghasem31372
دوشنبه 30 خرداد 1401, 09:27 صبح
سلام.
منظور از قفل کردن چیه؟ خصوصیت ReadOnly باید برابر True بشه.

اگه منظور بی اثر کردن کلیدهای کیبورد هست تاپیک در موردش قبلا ایجاد شده و استفاده از رویداد kEYPRESS هست.

با سلام اگه میشه لینک صفحه رو بدین چون هرچی گشتم نبود تو سایت
با تشکر.

پرستو پارسایی
دوشنبه 30 خرداد 1401, 10:49 صبح
برای محدود سازی یک تکست باکس پست های زیادی وجود داره .

Private Sub TextBoxes_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Asc(e.KeyChar) <> 8 Then
'فقط اجازه ورود اعداد را بدهید
If Not (Char.IsDigit(CChar(CStr(e.KeyChar))) Or e.KeyChar = ".") Then
e.Handled = True
End If
'فقط یک نقطه اعشار مجاز است
If e.KeyChar = "."c AndAlso TryCast(sender, TextBox).Text.IndexOf("."c) > -1 Then
e.Handled = True
End If
End If
End Sub


یا به این روش :

dim N as string = "0123456789."
if instr(n,e.KeyChar )<=0 then e.handled = true



یا این کد :

if not isnumbric(e.KeyChar) and e.KeyChar <>"." then e.handled = true

یا این کد :

Select Case e.KeyChar
Case "*"
e.Handled = True
Case "-"
e.Handled = True
Case "/"
e.Handled = True
Case "!"
e.Handled = True
Case "#"
e.Handled = True
Case "$"
e.Handled = True
Case "%"
e.Handled = True
Case "^"
e.Handled = True
Case "&"
e.Handled = True
Case "("
e.Handled = True
Case ")"
e.Handled = True
Case "+"
e.Handled = True
End Select


If (e.KeyChar >= "0") And (e.KeyChar <= "9") = False Then
e.Handled = True
End If

برای فقط خواندنی کردن تکست باکس هم دوست گرامی ROSTAM2 در پست دوم راهنمایی کردند