منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[سؤال] سؤال في الحافظه - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [سؤال] سؤال في الحافظه (/showthread.php?tid=39542)



سؤال في الحافظه - حسن الجلب - 20-09-21

السلام عليكم ورحمه الله وبركاته

عندي تكست بوكس وعايز ادخل فيه ارقام فقط ولكن عند الضغط علي  paste من قائمه كليك يمين او من  ctrl+v يتحقق ويفلتر الارقام من النصوص في الحافظه قبل عمل paste


RE: سؤال في الحافظه - العطر الرايق - 20-09-21

وعليكم السلام 
تفضل للصق الارقام فقط 

كود :
  Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       TextBox1.Text = System.Text.RegularExpressions.Regex.Replace(TextBox1.Text, "[^\d]", "")    'Removes all character except numbers
       TextBox1.Select(TextBox1.Text.Length + 1, 1)    'To bring the textbox focus to the right
   End Sub



RE: سؤال في الحافظه - حسن الجلب - 20-09-21

شكرا اخي ولكن ممكن شرح الكود وما معني [^\d]" ؟ وكيفيه عمل العكس بحيث يتم لصق حروف فقط؟


RE: سؤال في الحافظه - العطر الرايق - 20-09-21

(20-09-21, 04:22 PM)حسن الجلب كتب : شكرا اخي ولكن ممكن شرح الكود وما معني [^\d]" ؟ وكيفيه عمل العكس بحيث يتم لصق حروف فقط؟
اهلاً اخي
[^\d] تدل على فلترة الاحرف من الارقام قبل اللصق
  وسوف اضع لك كود اخر يسد جميع احتياجاتك من حروف او ارقام وسهل الفهم 

كود :
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
       Dim ThisTextBox As TextBox = DirectCast(sender, TextBox)
       Dim CheckString As String = "0123456789"  'يتم تحديد المدخلات المراد ادخالها اذا كانت ارقام.
       'Dim CheckString As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"  'يتم تحديد المدخلات المراد ادخالها اذا كانت حروف.
       Dim theText As String = ThisTextBox.Text
       Dim Letter As String
       Dim SelectionIndex As Integer = ThisTextBox.SelectionStart
       Dim Change As Integer
       For x As Integer = 0 To ThisTextBox.Text.Length - 1
           Letter = ThisTextBox.Text.Substring(x, 1)
           If CheckString.Contains(Letter) = False Then
               theText = theText.Replace(Letter, String.Empty)
               Change = 1
           End If
       Next
       ThisTextBox.Text = theText
       ThisTextBox.Select(SelectionIndex - Change, 0)
   End Sub