تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] سؤال بخصوص الtext box
#1
محتاج كود يظهرلي مسدج بوكس عند اتمام عدد معين من الحروف في التيكست بوكس 
مثال text box لا يقبل اقل من 3 حروف او ارقام ولا ازيد من 20 جرف ورقم وعند تجاوز العدد تظهر رساله 
تقول ان الحروف قليله او كثيره اتمني الرد
الرد }}}
تم الشكر بواسطة:
#2
السلام عليكم اخي الكريم
لضبط عدد الحروف الزائد عن 10
هذا الكود في حدث TextChanged

كود :
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
       If TextBox1.Text.Length > 10 Then
           MsgBox("لايمكن كتابة اكثر من عشرة حروف")
           TextBox1.Text = TextBox1.Text.Substring(0, 10)
       End If
   End Sub
ولضبط حد ادنى لعدد الحروف 
هذا الكود في حدث KeyDown بعد كتابة حرفين مثلا واضغط انتر
كود :
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
       
       If TextBox1.Text.Length < 3 Then
           If e.KeyCode = Keys.Enter Then
             
               e.Handled = True
               MsgBox("لايمكن كتابة اقل من ثلاثة حروف")
               TextBox1.Focus()
           End If
       End If
   End Sub
اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: bakriano30@yahoo.com , الحازمي , ابو روضة , Abou Eman
#3
(16-07-19, 06:43 PM)ابراهيم ايبو كتب :
السلام عليكم اخي الكريم
لضبط عدد الحروف الزائد عن 10
هذا الكود في حدث TextChanged

كود :
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
       If TextBox1.Text.Length > 10 Then
           MsgBox("لايمكن كتابة اكثر من عشرة حروف")
           TextBox1.Text = TextBox1.Text.Substring(0, 10)
       End If
   End Sub
ولضبط حد ادنى لعدد الحروف 
هذا الكود في حدث KeyDown بعد كتابة حرفين مثلا واضغط انتر
كود :
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
       
       If TextBox1.Text.Length < 3 Then
           If e.KeyCode = Keys.Enter Then
             
               e.Handled = True
               MsgBox("لايمكن كتابة اقل من ثلاثة حروف")
               TextBox1.Focus()
           End If
       End If
   End Sub

شكرا اخي انا عاجز عن الشكر لك ولكن بخصوص الكود الثاني 
[quote pid='144239' dateline='1563288204']
كود :
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
       
       If TextBox1.Text.Length < 3 Then
           If e.KeyCode = Keys.Enter Then
             
               e.Handled = True
               MsgBox("لايمكن كتابة اقل من ثلاثة حروف")
               TextBox1.Focus()
           End If
       End If
   End Sub
ينفع بدل ما اضغط انتر تظهر الرساله اغير عند لضغط علي بوتن معين

[/quote]
الرد }}}
تم الشكر بواسطة:
#4
أخي بكري

فكرة أخرى بعد فكرة أخي ابراهيم

ممكن تعمل على تغير لو خلفية التيكست بوكس حسب الشرط أو تظهر علامة خطأ بجواره

طريقة تغير خلفية التيكست بوكس مثل
PHP كود :
Private Sub TextBox1_TextChanged(sender As ObjectAs EventArgsHandles TextBox1.TextChanged
    Static st 
As Boolean False
    If sender
.Text.Trim.Length >= 3 Then st True
    If Not st Then 
Return
 
   If sender.Text.Trim.Length Or sender.Text.Trim.Length 20 Then
        sender
.BackColor Color.Pink
    Else
        sender
.BackColor Nothing
    End 
If
End Sub
Private Sub TextBox1_LostFocus(sender As ObjectAs EventArgsHandles TextBox1.LostFocus
    If sender
.Text.Trim.Length Or sender.Text.Trim.Length 20 Then
        sender
.BackColor Color.Pink
    End 
If
 
   sender.Text sender.Text.Trim
End Sub 


طريقة ظهور علامة خطأ بجوار التيكست بوكس مثل
PHP كود :
Dim epTextBox1 As New ErrorProvider
Private Sub TextBox1_TextChanged(sender As ObjectAs EventArgsHandles TextBox1.TextChanged
    Static st 
As Boolean False
    If sender
.Text.Trim.Length >= 3 Then st True
    If Not st Then 
Return
 
   If sender.Text.Trim.Length Or sender.Text.Trim.Length 20 Then
        epTextBox1
.SetError(sender"يجب إدخال بين 3 و 20 حرف")
 
   Else
        epTextBox1
.SetError(senderNothing)
 
   End If
End Sub
Private Sub TextBox1_LostFocus(sender As ObjectAs EventArgsHandles TextBox1.LostFocus
    If sender
.Text.Trim.Length Or sender.Text.Trim.Length 20 Then
        epTextBox1
.SetError(sender"يجب إدخال بين 3 و 20 حرف")
 
   End If
 
   sender.Text sender.Text.Trim
End Sub 

أخي بكري
إن كان هناك ما تريد أن تستفسر عنه في هذين الكودين فأخبرني
الرد }}}
#5
السلام عليكم اخي الكريم
يالنسبة للكود الثاني لم انتبه 
المهم هذا كود لقبول مربع النص ارقام فقط
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox3.KeyPress, TextBox2.KeyPress
     
       ' قبول مربع النص لارقام فقط
       Select Case e.KeyChar
           Case "0" To "9", ".", ControlChars.Back, Chr(Keys.Space)
               e.Handled = False
               If TextBox1.Text = "0" Then
                   TextBox1.Text = "0"
               End If
           Case Else
               e.Handled = True
       End Select
   End Sub

وهذا الكود لقبول مربع النص احرف عربية واجنبية فقط
كود :
 Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

       Select Case e.KeyChar
           Case "ء" To "ي", "A" To "z", ControlChars.Back, Chr(Keys.Space)
               e.Handled = False
           Case Else
               e.Handled = True
       End Select

   End Sub

اعمل الخير وأجرك لا تنتظره فالله خير من إليك يرده
البرمجة ليست مجرد كود بل هي منهج تفكير منطقي لحل المشكلات







الرد }}}
تم الشكر بواسطة: ابو روضة



التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم