المشاركات : 24
المواضيع 0
الإنتساب : Oct 2020
السمعة :
0
الشكر: 22
تم شكره 10 مرات في 10 مشاركات
24-01-23, 08:50 AM
السلام عليكم ورحمة الله
أرجو أن يكون الجميع بصحة جيدة..
كما أرجو أن أجد إجابة على سؤالي..
يوجد لدي مجموعة من CheckBox بحيث إذا وضعت علامة على أحدها يظهر اسم مربع الاختيار في مربع نص متبوع بعلامة ( + ) كما في الصورة..
https://www.mediafire.com/view/eiqcqvqux...2.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
وشكراً جزيلاً...
المشاركات : 1,262
المواضيع 16
الإنتساب : May 2016
السمعة :
291
الشكر: 801
تم شكره 2223 مرات في 1168 مشاركات
وعليكم السلام ورحمة الله وبركاته
لا تحتاج لعكس العملية ولكن استخدم هذا الكود وأكمله بما يناسب عملك ..
كود :
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
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 24
المواضيع 0
الإنتساب : Oct 2020
السمعة :
0
الشكر: 22
تم شكره 10 مرات في 10 مشاركات
(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
شكراً جزيلاً..
سوف أنظر ما يمكن عمله.. ولي عودة
المشاركات : 1,262
المواضيع 16
الإنتساب : May 2016
السمعة :
291
الشكر: 801
تم شكره 2223 مرات في 1168 مشاركات
وهذه طريقة مميزة - مقدمة من الأخ والمعلم الأول ( OLED) :
قال صلى الله عليه وسلم:
«كلمتان خفيفتان على اللسان
ثقيلتان في الميزان،حبيبتان إلى الرحمن:
سبحان الله وبحمده، سبحان الله العظيم».
المشاركات : 24
المواضيع 0
الإنتساب : Oct 2020
السمعة :
0
الشكر: 22
تم شكره 10 مرات في 10 مشاركات
24-01-23, 10:09 PM
(آخر تعديل لهذه المشاركة : 24-01-23, 10:56 PM {2} بواسطة danti.)
(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) :
طريقة ممتازة جداً.. نفس فكرتك في ردك السابق..
ولكن هذه الطريقة حتى لو أزلت كل علامات الاختيار كلي يصبح مربع النص فارغ ولا يظهر أي خطأ.
جزاكم الله كل خير ونفع بعلمكم ورفع قدركم.
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
احببت مشاركتكم بهذا الكود القديم.
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
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
المشاركات : 24
المواضيع 0
الإنتساب : Oct 2020
السمعة :
0
الشكر: 22
تم شكره 10 مرات في 10 مشاركات
(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) أكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..
شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.
المشاركات : 7,397
المواضيع 802
الإنتساب : Sep 2013
السمعة :
853
الشكر: 13167
تم شكره 18826 مرات في 4421 مشاركات
(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) أكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..
شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.
العفو اخي الكريم مشكلة الرمز حلها بسيط باضافة تحقق.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
|