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

حلقة التكرار على الخانة النصية و مربع الاختيار

مغلق
بدأه cooli في 26 سبتمبر 2005 · 9 رد · 776 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

شباب لو لديك 16 مربع تكست بوكس

تريد لو تظغط زر جديد يفرغها جميعا اي تصبح فاضيه

بدلا من كتابة الامر هذا 16 مره

chk_add.CheckState = CheckState.Unchecked

و 16 مربع تشك بوكس

بدلا من كتابة الامر هذا 16 مره

txt_name.text=""

وشكرا

تم تعديل هذه المشاركة بواسطة الغملاسي في 28 سبتمبر 2005 في 10:58

#2

اخي ضعهم ال16 في روتين فرعي وبدل من كتابة ال16 كل مرة فقط ضع اسم الروتين الفرعي

هذا مثال

Sub Clear()

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

Textbox1.text=""

End Sub

ضع اسم الروتين الفرعي في اي حدث تريده لكي يقوم بحذف محتويات الTextbox ال 16

سلام :)

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#3

اخي الكريم كلامك تمام و لكن هناك طريقة افضل لاداء ذلك ولكن لا اعرف احولها الى Visual Basic

ارجو من احد الأخوة تحويلها

private void button1_Click(object sender, System.EventArgs e)

{

for (int i = 0; i < this.Controls.Count; i++)

{

if (this.Controls.GetType().Name == "CheckBox")

{

((CheckBox)(this.Controls)).Checked = false;

}

}

}

قمنا بعمل حلقة على جميع ال Controls في الفورم ثم فحصنا اذا كان النوع هو CheckBox

نقوم بتحويل نمطه الى CheckBox لكي نحصل على الخاصية Check ثم نسند لها القيمة False

قم بنفس العمل بالنسبة لل TextBox

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#4
  private void button1_Click(object sender, System.EventArgs e)
  {
 	 for (int i = 0; i < this.Controls.Count; i++)
 	 {
    if (this.Controls.GetType().Name == "CheckBox")
    {
   	 ((CheckBox)(this.Controls)).Checked = false;
    }
 	 }
  }

اسف لم يظهر الكود بالشكل الجيد

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#5

اخي سوف احاول تحويل الكود لكن ماذا لو كان الاخ حاط اسماء مختلفه للادوات؟؟؟

تعلم:كيف تشغل برنامجك (قبل) ما يشتغل ال explorer, مثل ال check desk في الوندوز 98 و me

اللهم عطر يومنا بالايمان وانر قلبنا بالقرآن ورزقنا من حيث لانحتسب واجعل لنا سكينة تطمئن بها روحنا واحفظنا من كل سوء اللهم بارك لنا في رجب وشعبان وبلغنا رمضان آمين يارب العالمين

ranneh.com

#6

السلام عليكم

الطريقة هي عمل حلقة تلف على كل عناصر النموذج ومن ثم نتحقق من نوع العنصر

هل هي خانة نصية أو مربع اختيار ,,الخ, وتكون كالتالي .

  Public Sub ClearElements()
        Try
            Dim i As Control
            For Each i In Me.Controls
                If TypeOf i Is TextBox Then
                    i.Text = String.Empty
                End If

                If TypeOf i Is CheckBox Then
                    DirectCast(i, CheckBox).Checked = False
                End If
            Next

        Catch ex As Exception
            MessageBox.Show(ex.Message)

        End Try
    End Sub

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#7

اخي الكريم اعتقد ان هذا ممكن يفيدك (كتبته من رأسي مباشرة دون التحقق)

Dim varctrl As Control
        For Each varctrl In Me.Controls
            If TypeOf varctrl Is CheckBox Then
                varctrl.Checked = True
            End If
        Next

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

وشكرا

انا كتبت الحل واثناء ذلك كتب الخبير الغملاسي الحل وانا انسحب ولكن بما اني قد كتبت فلا ضير في ذلك واطلب العفو من الغملاسي لتعقيبي على كوده ولكن اعتقد انناك كتبنا سويا في نفس اللحظة وانت سبقتني :)

الأخ القدير الغملاسي هل يمكن ان تشرح عمل هذا السطر

DirectCast(i, CheckBox).Checked = False

تم تعديل هذه المشاركة بواسطة Romantic_touch في 26 سبتمبر 2005 في 20:13

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#8

السلام عليكم

حياك الله أخي وبياك و ابقاك..

الـ DirectCast هي كلمة محجوزة keyword في VS.NET وهي عبارة عن معامل تحويل حالها حال CType

أو غيرها إلا أنها أكثر إحكاماً, للمزيد عن هذه الكلمة المحجوزة راجع الموضع المثبت القول المنير في أصول التطوير

و بما أن العنصر control لا يملك خاصية الـ Checked فإننا نقوم بتحويله على أساس أنه من نوع checkBox

فسيتم إستخدام هذه الخاصية وفقاً لتحويل العنصر للعنصر الذي عينهاه في الممرر الثاني وهو checkBox

فالكود الذي كتبته أنت لا أظن انه يعمل , بسبب ماذكرته لك في الاعلى أن العنصر Control لا يملك هذه الخاصية بشكل عام.

بالتوفيق إن شاء الله.

في المثال يتضح المقال

#9

الف شكر اخي الغملاسي ولكن اش رايك في تطوري السريع في استيعاب اللغة :)

واستئذنك في ان اضيف على كودك فكرة وهيه ان يكون الكود يعمل checked لكل التشك بكس وايضا يعمل unchecked وهو كالتالي

Public Sub ClearElements()
       Try
           Dim i As Control
           For Each i In Me.Controls
               If TypeOf i Is TextBox Then
                   i.Text = String.Empty
               End If

               If TypeOf i Is CheckBox Then
                   DirectCast(i, CheckBox).Checked = Not (DirectCast(i, CheckBox).Checked )
               End If
           Next

       Catch ex As Exception
           MessageBox.Show(ex.Message)

       End Try
   End Sub

في الحالة هذه اذا كانت جميع التشك بكس مؤشرة سوف يلغي التأشير وضغطة اخرى سوف تؤشر عليها كلها

وللجميع التوفيق

<span style='color:green'>سؤل ابن عباس عن علمه كيف جمعه فقال :( أوتيت لسانا سؤولا وقلبا عقولا)</span>

#10

ماشاء الله عليك لمسه رومانسية على النصوص البرمجية

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

بالتوفيق ولمزيد من التقدم و الرقي

السلام عليكم

في المثال يتضح المقال

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…