اجبار المستخدم علي ادخال رقم يتراوح في مدي معين
السلام عليكم ورحمة الله وبركاته
تم الإجابة
و إرفاق المثال
والسلام عليكم ورحمة الله وبركاته
سيدي الفاضل
ليس هو كل المطلوب
ولكن المطلوب عند الكتابة لا تستطيع ان تكتب رقم اكبر من رقم معين او اصغير من رقم معينن
هلا وضحت أكثر أخي عاطف ... فالرد السابق فيه توضيح كاف
هل تقصد مثلاً لا يكتب أكثر من خانات معينة ؟؟؟
وبالنسبة لما ذكره أخي عرفات ... يمكن أن تجعله في حدث textbox1_LostFocus فلا يستطيع الخروج من ذلك التكست إلا بوضع صحيح
Private Sub textbox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox1.LostFocus
If val(textbox1.Text) > 25 Then
MessageBox.Show("أدخل رقم من 1 حتى 25 ... سيعاد الرقم إلى 12 إفتراضياً", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
textbox1.Text = 12
textbox1.Focus()
End If
End Subرحيّم كتب:هلا وضحت أكثر أخي عاطف ... فالرد السابق فيه توضيح كاف
هل تقصد مثلاً لا يكتب أكثر من خانات معينة ؟؟؟
وبالنسبة لما ذكره أخي عرفات ... يمكن أن تجعله في حدث textbox1_LostFocus فلا يستطيع الخروج من ذلك التكست إلا بوضع صحيح
Private Sub textbox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles textbox1.LostFocus If val(textbox1.Text) > 25 Then MessageBox.Show("أدخل رقم من 1 حتى 25 ... سيعاد الرقم إلى 12 إفتراضياً", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error) textbox1.Text = 12 textbox1.Focus() End If End Sub
استاذي العزيز
السلام عليكم ورحمة وبركاته
انا اعمل على فجوال البيسك 6 !!!!!!!؟
أخي الفاضل
atefkhalf2004تفضل المثال
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Then
MsgBox("!!!! غير مسموح")
TextBox1.Clear()
End If
End Sub

الاستاذ محمد شكرا علي ؤدك ولكت كيف مع الشرط السابق اجعل المستخدم لا يستطيع كتابة حروف عدا حرف معين وليكن ح
سيكون الكود بالشكل التالي
وسيقبل مربع النص جميع القيم من 0 وحتي 75 فقط وسيقبل أيضا كتابة الكسور ولكن لن يقبل اي حروف ماعدا حرف ح وبخلاف ذلك سيظهر رسالة للمستخدم تمنعه من اي ادخالات اخري
بالتوفيق
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "ح" Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles TextBox1.TextChanged
If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Then
MsgBox("!!!! غير مسموح")
TextBox1.Clear()
End If
End Subتم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 7 يونيو 2013 في 08:30


تمام يا ا محمد
يتبقي في هذا الموضوع نقطة واحدة وهي كيف اجعله يكتب ح فقط ولا يستطيع ان يكتب اكثر من حرف من الحرف ح
اي يستطيع ان يكتب 34.6 او 77 او ح ولا يستطيع حح
جربت هذا
If e.KeyChar = "غ" And Len(e.KeyChar) = 1 Then
e.Handled = False
Else
e.Handled = True
End If
If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "غ" Then
e.Handled = False
Else
e.Handled = True
End If If e.KeyChar = "غ" And Len(e.KeyChar) = 1 Then
e.Handled = False
Else
e.Handled = True
End If
If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "غ" Then
e.Handled = False
Else
e.Handled = True
End If
بمنتهي البساطة سنقوم باضافة جملة بسيطة في الكود في حدث TextBox1_TextChanged
وهي
Or TextBox1.Text.Contains("حح")
ليصبح الشكل النهائي للكود هكذا
بالتوفيق
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles TextBox1.KeyPress
If Char.IsDigit(e.KeyChar) Or Char.IsControl(e.KeyChar) Or Char.IsPunctuation(e.KeyChar) Or e.KeyChar = "ح" Then
e.Handled = False
Else
e.Handled = True
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles TextBox1.TextChanged
If Val(TextBox1.Text) < 0 Or Val(TextBox1.Text) > 75 Or TextBox1.Text.Contains("حح") Then
MsgBox("!!!! غير مسموح")
TextBox1.Clear()
End If
End Sub

الاستاذ محمد منك نتعلم الكثير وعودتنا علي الدقة
هذا الكود سوف بعمل عند الخروج من المربع
ولكن لو وضع في كي برس سوف يمنع المستخدم من كتابة اكثر من جرف
لذا
اتمني تعديل كود حدث الكي برس
شكرا
اقتباسالاستاذ محمد منك نتعلم الكثير وعودتنا علي الدقة
هذا الكود سوف بعمل عند الخروج من المربع
ولكن لو وضع في كي برس سوف يمنع المستخدم من كتابة اكثر من جرف
لذا
اتمني تعديل كود حدث الكي برس
شكرا
بارك الله فيك أخي الكريم علي هذه الكلمات الطيبة
الكود الحالي يحقق جميع الشروط التي قد طلبتها بالحرف الواحد وعذرا مني لاني حاولت فهم ما تقولة في آخر مشاركة ولم أفهم ماذا تريد عملة بالضبط في حدث Key_Press
فلو قمت بتطبيق الكود كما هو سيمنع المستخدم من كتابة "حح" و سيمنع المستخدم من كتابة رقم يقل عن عن 0 ويزيد عن الــ 75 لكنه سيقبل كتابة "ح" أو كسور يتخللها الحرف "ح" أو أرقام صحيحة أيضا يتخللها الحرف ح وكما هو موضح بالصور
بالتوفيق
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 8 يونيو 2013 في 19:54


هذا الحل ممتاز يا استاذ محمد
ولكن ... ماذا لو ادخل المستخدم 9ح او ح9 شكرا
اثق في حلولك
الاسناذ محمد
برجاء التعديل ةشكرا
والله يا أخي اذا كانت الاجابة متوفرة لدي كنت جاوبتك لكن الي الان لم أصل الي اجابة علي السؤال الجديد الموجود في المشاركة لكن عندي اقتراح
1- أنا لا أعرف أصلا الغرض من هذه الشروط !!
2- اذا كان حرف الــ ح سيكون حرف ثابت فأقترح منع المستخدم من كتابة أي حروف في خانة كتابة الارقام
3- وعمل خانة جديدة ReadOnly بحيث لا يستطيع المستخدم التعديل عليها وبداخلها حرف الــ ح كما هو موضح بالصورة وبهذه الطريقة وصلنا للمطلوب
وهو منعنا المستخدم من كتابة حروف في الخانة الاولي و منعنا المستخدم من كتابة الحرف مرة علي يمين الارقام ومرة علي يسار الارقام لانها ستكون ثابتة
في خانه للقراءة فقط ولا يتدخل فيها المستخدم
تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 10 يونيو 2013 في 21:28


الاستاذ محمد انا تعبت حضرتك
الهدف من المربع هو كتابة درجات الطلاب
اذا يمكن كتابة ارقام في حدود من صفر حتي رقم معين وليكن 75
او كتابة غ دليل علي الغياب
ارغب في اجباره علي كابة حرف غ فقط ولو حاول بضيف غ اخري لا يستطيع
وعند كتابة ارقام يكتب رقم في المدي المحدد
مطلوب كتابة غ فقط او ارقام في مدي معين
بحيث اذا اراد ان يكتب حف غ9 لا يستطيع او 9غ لا يستطيع وهو المطلوب
اقترح ان تضيف حرف غ أو ح أو اي شيء من هذا القبيل في DropDownlist أي ComboBox لتفادي اخطاء الكتابة وليختار المستخدم الحرف الذي يريده ان يعطية للطالب


السلام عليكم
جرب أخي هذا الكود في الحدث KeyPress
Private Sub txtValeur_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtValeur.KeyPress
Dim ValeurL As Array = Split(txtValeur.Text, "ح")
If e.KeyChar = "ح" And ValeurL.Length <> 1 Then
e.Handled = True
End If
Dim Vrgl As Array = Split(txtValeur.Text, ".")
If e.KeyChar = "." And Vrgl.Length <> 1 Then
e.Handled = True
End If
If (e.KeyChar < "0"c OrElse e.KeyChar > "9"c) AndAlso (e.KeyChar <> ControlChars.Back) AndAlso (e.KeyChar <> ".") AndAlso (e.KeyChar <> "ح") Then
e.Handled = True
End If
End Sub
و أضف هذا الكود في الحدث TextChanged
Private Sub txtValeur_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtValeur.TextChanged
If Val(txtValeur.Text) < 0 Or Val(txtValeur.Text) > 75 Then
MsgBox("!!!! غير مسموح")
txtValeur.Clear()
End If
End Subوالسلام





