المشاركات : 1,203
المواضيع 210
الإنتساب : Sep 2013
السمعة :
2
الشكر: 1
تم شكره 501 مرات في 295 مشاركات
السادة الافاضل
كيف اجعل المستخدم لا يستطيع كتابة اكثر من علامة عشرية في مربع النص
وطبعا لا يستطيع كتابة حروف
شكرا لتعاونكم معنا
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
استعمل الكود التالي في الحدث KeyPress لمربع النص:
كود :
If Not Char.IsControl(e.KeyChar) Then
If e.KeyChar = "." Then
If TextBox1.Text.IndexOf(".") <> -1 Then
If TextBox1.SelectionLength > 0 Then
If TextBox1.SelectedText.IndexOf(".") = -1 Then
e.Handled = True
End If
Else
e.Handled = True
End If
End If
ElseIf "0123456789".IndexOf(e.KeyChar) = -1 Then
e.Handled = True
End If
End If
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 1,203
المواضيع 210
الإنتساب : Sep 2013
السمعة :
2
الشكر: 1
تم شكره 501 مرات في 295 مشاركات
اجابة ممتازة
واستكمال الموضوع
كيف يتم عمل دالة function حتي لا اكتب كل هذا الكود داخل كل مربع نص
شكرا
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
في الـ NET. الأمر بسيط:
1. اكتب الكود المذكور أعلاه في الحدث KeyPress لأحد مربعات النص المعنية مع بعض التعديل:
كود :
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress, TextBox3.KeyPress
Dim MyBox As TextBox = sender ' استعمال متغير ليشير إلى مربع النص صاحب الحدث و استعماله في الكود أدناه
If Not Char.IsControl(e.KeyChar) Then
If e.KeyChar = "." Then
If MyBox.Text.IndexOf(".") <> -1 Then
If MyBox.SelectionLength > 0 Then
If MyBox.SelectedText.IndexOf(".") = -1 Then
e.Handled = True
End If
Else
e.Handled = True
End If
End If
ElseIf "0123456789".IndexOf(e.KeyChar) = -1 Then
e.Handled = True
End If
End If
End Sub
* لاحظ أننا عرفنا المتغير MyBox و أسندنا إليه البارامتر sender الذي يمثل مربع النص صاحب الحدث، ثم استعملنا هذا المتغير (MyBox) في الكود.
2. في الـ Form اختر مربع النص الآخر، ثم في نافذة الخصائص بدل إلى الأحداث (Events) و في خانة الحدث KeyPress اختر نفس الإجراء الذي كتبته لمربع النص الأول. ستلاحظ في الكود أن إجراء الحدث KeyPress الذي كتبته أصبح يشير إلى مربعي النص:
كود :
Handles TextBox1.KeyPress, TextBox2.KeyPress
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 1,203
المواضيع 210
الإنتساب : Sep 2013
السمعة :
2
الشكر: 1
تم شكره 501 مرات في 295 مشاركات
تمام يا باشا
اكيد استفدنا
ولكن هذا علي مستوي الفورم
الا يوجد فنكشن علي مستوي المشروع
شكرا
المشاركات : 372
المواضيع 15
الإنتساب : Sep 2013
السمعة :
28
الشكر: 487
تم شكره 1677 مرات في 187 مشاركات
السلام عليكم...
بلى يوجد (لعيونك)...
1. أنشئ Module (في ملف مستقل أو في بداية ملف كود الـ Form الرئيسية - قبل تعريف الـ Class).
اكتب الإجراء التالي في الـ Module. لاحظ أنه معرف كإجراء عام (Public) و كذلك - من المهم - أن له نفس اسم و عدد و نوع بارامترات الإجراء KeyPress:
كود :
Public Module MyRoutines
Public Sub MyTextBoxKeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim MyBox As TextBox = sender
If Not Char.IsControl(e.KeyChar) Then
If e.KeyChar = "." Then
If MyBox.Text.IndexOf(".") <> -1 Then
If MyBox.SelectionLength > 0 Then
If MyBox.SelectedText.IndexOf(".") = -1 Then
e.Handled = True
End If
Else
e.Handled = True
End If
End If
ElseIf "0123456789".IndexOf(e.KeyChar) = -1 Then
e.Handled = True
End If
End If
End Sub
End Module
2. في أي Form يوجد بها مربع (أو مربعات) نص تريد ربطها بنفس الإجراء، استخدم السطر التالي في الحدث Load للـ Form:
كود :
AddHandler TextBox1.KeyPress, AddressOf MyTextBoxKeyPress
يعني استعمال عبارة AddHandler متبوعة باسم مربع النص و اسم الحدث ثم كلمة AddressOf ثم اسم الإجراء العام الذي عرفناه في الـ Module.
نرجو الاستفادة و السلام.
بِسْمِ اللهِ الرَّحْمَنِ الرَّحِيمِ ( وَ مَا تُقَدِّمُوا لِأَنفُسِكُم مِّنْ خَيْرٍ تَجِدُوهُ عِندَ اللهِ هُوَ خَيْراً وَ أَعْظَمَ أَجْراً ) صَدَقَ اللهُ الْعَظِيمُ
المشاركات : 1,203
المواضيع 210
الإنتساب : Sep 2013
السمعة :
2
الشكر: 1
تم شكره 501 مرات في 295 مشاركات
الاستاذ الفاضل
لي مشاركة بخصوص تنفيذ امر في فورم اخر
برجاء الرد عليها