طريقة مسح جزء من البيانات في TextBox - danti - 24-01-23
السلام عليكم ورحمة الله
أرجو أن يكون الجميع بصحة جيدة..
كما أرجو أن أجد إجابة على سؤالي..
يوجد لدي مجموعة من CheckBox بحيث إذا وضعت علامة على أحدها يظهر اسم مربع الاختيار في مربع نص متبوع بعلامة ( + ) كما في الصورة..
https://www.mediafire.com/view/eiqcqvquxqvmkgr/22.jpg/file
السؤال.. ما هو الكود الذي استخدمه لعكس العملية، بحيث لو أزلت العلامة من مربع معين يمسح فقط نفس اسم مربع الاختيار من مريع النص؟
استخدم هذا الكود لإظهار اسم مربع الاختيار:
كود :
Private Sub CH_Jad_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jad.CheckedChanged
If CH_Jad.Checked = True Then
Txt_Pat_Esc.Text += CH_Jad.Text & " + "
Else
End If
End Sub
Private Sub CH_Jada_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jada.CheckedChanged
If CH_Jada.Checked = True Then
Txt_Pat_Esc.Text += CH_Jada.Text & " + "
Else
End If
End Sub
Private Sub CH_Ak_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Ak.CheckedChanged
If CH_Ak.Checked = True Then
Txt_Pat_Esc.Text += CH_Ak.Text & " + "
Else
End If
End Sub
وشكراً جزيلاً...
RE: طريقة مسح جزء من البيانات في TextBox - Taha Okla - 24-01-23
وعليكم السلام ورحمة الله وبركاته
لا تحتاج لعكس العملية ولكن استخدم هذا الكود وأكمله بما يناسب عملك ..
كود :
Sub IsChecked()
Dim strT As String
If CH_Jad.Checked Then strT &= CH_Jad.Text + " + "
If CH_Jada.Checked Then strT &= CH_Jada.Text + " + "
If CH_Ak.Checked Then strT &= CH_Ak.Text + " + "
'....
'....
'....
'...
'..
'.
Txt_Pat_Esc.Text = Strings.Left(strT, Len(strT) - 3)
End Sub
Private Sub CH_Jad_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jad.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Jada_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jada.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Ak_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Ak.CheckedChanged
IsChecked()
End Sub
RE: طريقة مسح جزء من البيانات في TextBox - danti - 24-01-23
(24-01-23, 10:10 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته
لا تحتاج لعكس العملية ولكن استخدم هذا الكود وأكمله بما يناسب عملك ..
كود :
Sub IsChecked()
Dim strT As String
If CH_Jad.Checked Then strT &= CH_Jad.Text + " + "
If CH_Jada.Checked Then strT &= CH_Jada.Text + " + "
If CH_Ak.Checked Then strT &= CH_Ak.Text + " + "
'....
'....
'....
'...
'..
'.
Txt_Pat_Esc.Text = Strings.Left(strT, Len(strT) - 3)
End Sub
Private Sub CH_Jad_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jad.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Jada_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jada.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Ak_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Ak.CheckedChanged
IsChecked()
End Sub
شكراً جزيلاً..
سوف أنظر ما يمكن عمله.. ولي عودة
RE: طريقة مسح جزء من البيانات في TextBox - Taha Okla - 24-01-23
وهذه طريقة مميزة - مقدمة من الأخ والمعلم الأول (OLED) :
RE: طريقة مسح جزء من البيانات في TextBox - danti - 24-01-23
(24-01-23, 10:10 AM)Taha Okla كتب : وعليكم السلام ورحمة الله وبركاته
لا تحتاج لعكس العملية ولكن استخدم هذا الكود وأكمله بما يناسب عملك ..
كود :
Sub IsChecked()
Dim strT As String
If CH_Jad.Checked Then strT &= CH_Jad.Text + " + "
If CH_Jada.Checked Then strT &= CH_Jada.Text + " + "
If CH_Ak.Checked Then strT &= CH_Ak.Text + " + "
'....
'....
'....
'...
'..
'.
Txt_Pat_Esc.Text = Strings.Left(strT, Len(strT) - 3)
End Sub
Private Sub CH_Jad_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jad.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Jada_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Jada.CheckedChanged
IsChecked()
End Sub
Private Sub CH_Ak_CheckedChanged(sender As Object, e As EventArgs) Handles CH_Ak.CheckedChanged
IsChecked()
End Sub
هذه الطريقة ممتازة.. حتى أنها تقوم بترتيب الأسماء..
ولكن يظهر خطأ عندما أقوم بإزالة كل علامات الاختيار كي يصبح مربع النص فارغ..
كما في الصورة:
333.jpg - MediaFire
(24-01-23, 06:17 PM)Taha Okla كتب : وهذه طريقة مميزة - مقدمة من الأخ والمعلم الأول (OLED) :
طريقة ممتازة جداً.. نفس فكرتك في ردك السابق..
ولكن هذه الطريقة حتى لو أزلت كل علامات الاختيار كلي يصبح مربع النص فارغ ولا يظهر أي خطأ.
جزاكم الله كل خير ونفع بعلمكم ورفع قدركم.
RE: طريقة مسح جزء من البيانات في TextBox - سعود - 24-01-23
احببت مشاركتكم بهذا الكود القديم.
PHP كود :
Private Sub chk(ByRef c As CheckBox) If c.Checked = True Then If TextBox1.Text.Contains(c.Text & " + ") = False Then TextBox1.AppendText(c.Text & " + ") End If ElseIf c.Checked = False Then If TextBox1.Text.Contains(c.Text & " + ") = True Then TextBox1.Text = TextBox1.Text.Replace(c.Text & " + ", String.Empty) End If End If End Sub Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox4.CheckedChanged, CheckBox3.CheckedChanged, CheckBox2.CheckedChanged, CheckBox1.CheckedChanged chk(sender) End Sub
RE: طريقة مسح جزء من البيانات في TextBox - danti - 25-01-23
(24-01-23, 10:56 PM)سعود كتب : احببت مشاركتكم بهذا الكود القديم.
PHP كود :
Private Sub chk(ByRef c As CheckBox) If c.Checked = True Then If TextBox1.Text.Contains(c.Text & " + ") = False Then TextBox1.AppendText(c.Text & " + ") End If ElseIf c.Checked = False Then If TextBox1.Text.Contains(c.Text & " + ") = True Then TextBox1.Text = TextBox1.Text.Replace(c.Text & " + ", String.Empty) End If End If End Sub Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox4.CheckedChanged, CheckBox3.CheckedChanged, CheckBox2.CheckedChanged, CheckBox1.CheckedChanged chk(sender) End Sub
فعلاً الكود يعمل وبشكل ممتاز..
لكن لاحظت أن طريقة الأخ (OLED) أكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..
شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.
RE: طريقة مسح جزء من البيانات في TextBox - سعود - 25-01-23
(25-01-23, 02:58 AM)danti كتب : (24-01-23, 10:56 PM)سعود كتب : احببت مشاركتكم بهذا الكود القديم.
PHP كود :
Private Sub chk(ByRef c As CheckBox) If c.Checked = True Then If TextBox1.Text.Contains(c.Text & " + ") = False Then TextBox1.AppendText(c.Text & " + ") End If ElseIf c.Checked = False Then If TextBox1.Text.Contains(c.Text & " + ") = True Then TextBox1.Text = TextBox1.Text.Replace(c.Text & " + ", String.Empty) End If End If End Sub Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox4.CheckedChanged, CheckBox3.CheckedChanged, CheckBox2.CheckedChanged, CheckBox1.CheckedChanged chk(sender) End Sub
فعلاً الكود يعمل وبشكل ممتاز..
لكن لاحظت أن طريقة الأخ (OLED) أكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..
شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.
العفو اخي الكريم مشكلة الرمز حلها بسيط باضافة تحقق.
|