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

مصفوفة عناصر التحكم vb.net

مغلق
بدأه HMM في 5 أغسطس 2007 · 1 رد · 1,418 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في الاصدارة السابقة من vb6 كان يمكن تكوين مصفوفة من العناصر (controls) من نفس النوع مثلاً مصفوفة من الازرار يمكن معالجة الاحداث لها جميعاً إعتماداً على (index) الخاص بالعنصر ولكن هذة الخاصية اختفت فى دوت نت ولكن وجدت عنصر في بيئة دوت نت tools-> choos toolbox items عنصر اسمه(button array) لكن لم أعرف كيف يمكن استعمالها أ:ون شاكر لو امكن توضيح عمل الاداة أو الافادة بشيئ مماثل .

حيث انا أحتجت ان اعامل عدد كبير من الادوات في أحداث تعتمد على (index).

تم تعديل هذه المشاركة بواسطة HMM في 5 أغسطس 2007 في 20:11

#2

السلام عليكم , نعم الامر مختلف الى حدٍ ما. لكنه اسهل مما تتصور.

السبب أن جميع عناصر البيئة أصبحت تُعامل على اساس انها كائنات Objects و القصد من هذا هو اتباع اسلوب البرمجة كائنية التوجه OOP

على كلٌ, نعرف المصفوفة التي تحتوي على عناصر قيمية Control data مثل الـ TextBox أو button أو checkbox أو اي

عنصر يرتبط ببيانات ديناميكية سواءً من قاعدة البيانات أو من غيرها, بإن نعرف المصفوفة على اساس انها control

على سبيل المثال. شاهد النصوص البرمجية أو المرفق على 2005 كيف نتعامل مع المصفوفات التي تكون عبارة عن عناصر مرئية,

و كيف نتعامل مع الخصائص التي لا تتوفر في العنصر كنترول مثل خاصية Checked للـ Checkbox

كذلك في هذا المثال ستتعرف على كيفية عمل تقنية Recursion إذا كانت العناصر مُحتضنة في عنصر أخر غير النموذج, كمثلاً الـ Group box

#Region " Arrays of buttons "
	Private Sub Button4_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles btnChangeButtonNames.Click
		Dim ArrButtons() As Control = {Button1, Button2, Button3}
		For Each ctl As Control In ArrButtons

				ctl.Text = "Hi"

		Next
	End Sub
#End Region


#Region " Controls of Nested Control "
	Private Sub btnClearTextBox_Click(ByVal sender As System.Object, _
	   ByVal e As System.EventArgs) Handles btnClearTextBox.Click
		ClearAllTextBoxes(Me)
	End Sub

	Private Sub ClearAllTextBoxes(ByVal ParentControl As Control)
		Dim Nestedctl As Control
		'Recursion Technique 
		If ParentControl.HasChildren Then
			For Each Nestedctl In ParentControl.Controls
				If TypeOf Nestedctl Is TextBox Then
					Nestedctl.Text = String.Empty
				End If
				ClearAllTextBoxes(Nestedctl)
			Next Nestedctl
		End If
	End Sub
#End Region


#Region " CheckBoxes Contrls & DirectCast Convertor "

	Private Sub btnChangeCheckboxChecked_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles btnChangeCheckboxChecked.Click
		For Each ctlChkbox As Control In Me.Controls
			If TypeOf ctlChkbox Is CheckBox Then
				DirectCast(ctlChkbox, CheckBox).Checked = True
			End If
		Next
	End Sub

#End Region

ControlsArrayConcept.rar

تم تعديل هذه المشاركة بواسطة الشهاب الحارق في 6 أغسطس 2007 في 01:54

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

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

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

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

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

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

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