السلام عليكم ورحمة الله
أخواني الكرام أنا أعرف طريقة اجبار المستخدم على الكتابة داخل تكست بوكس إما حروف فقط أو أرقام فقط
ولكني اشتغلت على برنامج من قبل وميزته أنه يوجد تكست بوكس واحد فقط فإذا كان المستخدم يكتب رقم يقوم بالإكمال التلقائي ويبحث عن رقمه في حقل الرقم أما إذا كان المستخدم يكتب حرف فيبحث عن اسمه في حقل الاسم طبعا ذلك كله بدون كمبوبوكس ولا شيء
فكيف أعرف ذلك علما بأني طبقت هذه الطريقة بس عن طريق كمبوبوكس يحمل إما رقم المستخدم أو اسم المستخدم
فأنا أريد فعل ذلك بدون وضع كمبوبوكس
باختصار كيف أعطي أمر if then في حدث keypress يتحقق من كتابة المستخدم إذا كان رقم أو حرف
وللعلم فـأنا أعمل على فيجوال دوت نت 2005
وهذا هو الكود المستخدم ويعمل بكفاءة ولكن باستخدام كومبوبوكس فأنا أريد فعل ذلك بدون الكمبوبوكس
اقتباسPrivate Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPressDim c As Char
c = e.KeyChar
If combosearch.Text = "رقم الموظف" Then
If Not (Char.IsDigit© Or Char.IsControl©) Then
e.Handled = True
TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
Dim cmd As OleDbCommand = New OleDbCommand("SELECT comp_no From comp_basic", Cn)
Dim sdr As OleDbDataReader = cmd.ExecuteReader
While (sdr.Read())
TextBox1.AutoCompleteCustomSource.Add(sdr.Item("comp_no"))
End While
sdr.Close()
End If
ElseIf combosearch.Text = "اسم الموظف" Then
If IsNumeric(e.KeyChar) Then
e.Handled = True
TextBox1.AutoCompleteMode = AutoCompleteMode.Suggest
TextBox1.AutoCompleteSource = AutoCompleteSource.CustomSource
Dim cmd1 As OleDbCommand = New OleDbCommand("SELECT comp_name From comp_basic", Cn)
Dim sdr1 As OleDbDataReader = cmd1.ExecuteReader
While (sdr1.Read())
TextBox1.AutoCompleteCustomSource.Add(sdr1.Item("comp_name"))
End While
Else
End If
End If
End Sub
وشكرا لكم جميعا