الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ابطال شرط داخل خلية

بدأه المدلهم في 21 مارس 2009 · 9 رد · 538 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني و أخواتي

هل يمكن أن نضيف شرط ثم نبطل مفعوله

مثال

خانة اسمها textbox1 أضفت إليها شرط في متغير

Private Sub textbox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

textbox1.TextChanged

ثم كتبت الشرط باستخدام اداة if

الحين هل يمكنني ابطال مفعول هذا الشرط و خصوصا عندما أحب تفريغ قيمة الخلية textbox1 لأنه راح يعطيني رسالة خطأ و التي وضعتها أنا في

ELSE

شاكرا أفضالكم مقدما

#2

نعم اليك مثال هذا شرط الادخال في التكست بوكس

	Private Sub txtDesignPercentage_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDesignPercentage.KeyPress
		If IsNumeric(e.KeyChar) Or e.KeyChar = Chr(41) Or e.KeyChar = Chr(8) Or (sender.Text.IndexOf(".") < 0 AndAlso e.KeyChar = ".") Then
			e.Handled = False
		Else
			e.Handled = True
		End If
	End Sub

ضعه في التكست بوكس ايفنت كي برس تستطيع تطويعه و تعديله كما تريد بناءا على شروطك

الكود السابق يمنع اليوزر من ادخال احرف , فقط ارقام زائد واحد فاصلة عائمة

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#3

اخي عساف شكرا لك

ليس المقصود التحكم بالمدخل في التكس بوكس

و إنما قصدت أن إذا كانت قيمة التكس بوكس كذا يترتب عليها كذا و كذا الآن أنا اريد أن الغي القيمة المخزنة في التكس بوكس لتحل محلها قيمة أخرى يعني clear data تفريغ الحقول فتصير المشكلة التي احكي عنها بحيث تظهر الرسالة التي وضعتها أنا في else

تحياتي لك صديقي

#4

اخي ارني الكود لكي اقدر ان اساعدك فهمت عليك لكن ليس تماما

افضل لي و لك و لمن يريد ان يساعدك كتابة الكود

Private Sub textbox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 
textbox1.TextChanged

؟؟؟

؟؟
؟؟؟
End Sub

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#5

اهلا أخي

أضفت هذا الكود إلى خانة التكس بوكس

اقتباس
Private Sub TypTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TypTextBox.TextChanged

If TypTextBox.Text = "Master" Then

Dim conn As New SqlClient.SqlConnection(constring)

Dim d1 As New DataSet

Dim s1 As String = "select cod from mascour"

Dim A1 As New SqlClient.SqlDataAdapter(s1, conn)

A1.Fill(d1)

Dim k As Integer

For k = 0 To d1.Tables(0).Rows.Count - 1

Me.Coid1ComboBox.Items.Add(d1.Tables(0).Rows(k).Item(0))

Next

Else

MsgBox(" This screen Only For Master Registration")

disable()

End If

ثم أقوم بتنفيذ العمل المراد و الأمور ماشية تمام

الحين لما اريد أن ألغي قيمة الحقل clear data باستخدام الكود

اقتباس
Dim txt As Control

For Each txt In me.Controls

If TypeOf txt Is TextBox Or TypeOf txt Is ComboBox Then

txt.Text = ""

End If

Next

تظهر لي الرسالة التي أنا وضعتها في else

أنا اريد أن يتم إلغاء القيمة بدون ظهور الرسالة

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

اتمنى تكون وضحت

#6

اخي طريقة كتابتك للكود عجيبة غريبة استخدم فكرة اخرى

على كُلاً

Private Sub TypTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TypTextBox.TextChanged

if TypTextBox.Text.Trim <>""  then

If   TypTextBox.Text = "Master" Then
Dim conn As New SqlClient.SqlConnection(constring)
Dim d1 As New DataSet
Dim s1 As String = "select cod from mascour"
Dim A1 As New SqlClient.SqlDataAdapter(s1, conn)
A1.Fill(d1)
Dim k As Integer
For k = 0 To d1.Tables(0).Rows.Count - 1
Me.Coid1ComboBox.Items.Add(d1.Tables(0).Rows(k).Item(0))
Next
Else
MsgBox(" This screen Only For Master Registration")
disable()
End If

end if

هذا الحل اذا كان فهمي صحيح

على كل حال جرب و اخبرني النتيجة

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#7

بارك الله فيك أخي

هذا ما أمكنني فعله .... فلا تعنفني بارك الله فيك

إنما أنا تلميذك و وجب على المعلم أن يتحمل اخفاق تلميذه و هذا عهدنا بك

عموما سأجربه و ارجع لك

تقبل مني التحية

#8

سلمت يمينك أخي

الطريقة فعالة و منك نستفيد

ماهو الخطأ و الغريب في الكود ؟؟ زدني معرفة بجهلي أزد لك حبا و احتراما

تلميذك

#9

If TypTextBox.Text = "Master" Then

ما هذه Master لماذا لم تعرف متغير و تضع قيمته

true , false

ام تريد من المستخدم ان يكتب Master

فلنفرض انه ادخلها Master

سمول لتر , فعندها سوف لن ينطبق شرطك

If TypTextBox.Text = "Master" Then

أبدا لن ينطبق

و لك مني سلام

<EMBED src=http://www.abdelghafar.com/images/banners/bm2.swf width=486 height=60 type=application/x-shockwave-flash EMBED < menu="false" loop="true" quality="high">

#10

قد عملت حساب هذه أخي لأنها تأتي من قاعدة البيانات و لا يدخلها المستخدم تلقائيا في هذه الخانة

2- القيمة هذه في عملية الإدخال أصلا من كيمبو بوكس يعني ثابته مثل ما رسمتها أنا لا يمكن التعديل عليها و جل ما يفعله المستخدم أختيارها فقط

و اخيرا خانة TypTextBox مغلقة لا يمكن التعديل عليها يعني TypTextBox.enable= falseو قد و ضعت الشرط في حالة إذا لم ينطبق الشرط يقوم البرنامج بقفل جميع النوافذ

اطيب التحيات لك على التوجيه

مواضيع مشابهة