تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] طريقة مسح جزء من البيانات في TextBox
#1
Question 
السلام عليكم ورحمة الله

أرجو أن يكون الجميع بصحة جيدة..

كما أرجو أن أجد إجابة على سؤالي..

يوجد لدي مجموعة من 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

وشكراً جزيلاً...
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

لا تحتاج لعكس العملية ولكن استخدم هذا الكود وأكمله بما يناسب عملك ..
كود :
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
قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: danti , danti , OLED , OLED , سعود
#3
(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

شكراً جزيلاً..

سوف أنظر ما يمكن عمله.. ولي عودة
الرد }}}
تم الشكر بواسطة: سعود
#4
وهذه طريقة مميزة - مقدمة من الأخ والمعلم الأول (OLED) :

قال صلى الله عليه وسلم: 
«كلمتان خفيفتان على اللسان 
ثقيلتان في الميزان،حبيبتان إلى الرحمن: 
سبحان الله وبحمده، سبحان الله العظيم».
الرد }}}
تم الشكر بواسطة: danti , danti , danti , سعود
#5
(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) :


طريقة ممتازة جداً.. نفس فكرتك في ردك السابق..
ولكن هذه  الطريقة حتى لو أزلت كل علامات الاختيار كلي يصبح مربع النص فارغ ولا يظهر أي خطأ.

جزاكم الله كل خير ونفع بعلمكم ورفع قدركم.
الرد }}}
تم الشكر بواسطة: سعود
#6
احببت مشاركتكم بهذا الكود القديم.
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.ObjectAs System.EventArgsHandles CheckBox4.CheckedChangedCheckBox3.CheckedChangedCheckBox2.CheckedChangedCheckBox1.CheckedChanged
        chk
(sender)
 
   End Sub 
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Taha Okla , danti , danti
#7
(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.ObjectAs System.EventArgsHandles CheckBox4.CheckedChangedCheckBox3.CheckedChangedCheckBox2.CheckedChangedCheckBox1.CheckedChanged
        chk
(sender)
 
   End Sub 

فعلاً الكود يعمل وبشكل ممتاز..

لكن لاحظت أن طريقة الأخ (OLEDأكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..

شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.
الرد }}}
تم الشكر بواسطة: سعود , سعود
#8
(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.ObjectAs System.EventArgsHandles CheckBox4.CheckedChangedCheckBox3.CheckedChangedCheckBox2.CheckedChangedCheckBox1.CheckedChanged
        chk
(sender)
 
   End Sub 

فعلاً الكود يعمل وبشكل ممتاز..

لكن لاحظت أن طريقة الأخ (OLEDأكثر ملائمة.. حيث أنه لا تظهر علامة ( + ) في نهاية السطر..

شكراً جزيلاً لك.. وجزاك الله خيراً على المشاركة المفيدة.

العفو اخي الكريم مشكلة الرمز حلها بسيط باضافة تحقق.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: Taha Okla , Taha Okla



التنقل السريع :


يقوم بقرائة الموضوع: