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

التحكم Propertygrid

بدأه محمد سامر أبو سلو في 12 سبتمبر 2008 · 0 رد · 780 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

يقوم التحكم PropertyGrid بعرض معلومات حول الكائن Object بأسلوب مشابه لأسلوب نافذة الخصائص Properties Window في بيئة التطوير وهو يمكن المستخدم من تنظيم الخصائص بحسب الفئة أو أبجديا ممكنا إياه من تحرير قيم هذه الخصائص. ويمتلك هذا التحكم العديد من العناصر ولكن الأهم من بين هذه العناصر هي الخاصية SelectedObject التي تستخدم لضبط أو معرفة الكائنات المرتبطة مع التحكم وتكون قيمتها من النوع Object كما في الكود

' Show Button1 Properites
Me.PropertyGrid1.SelectedObject = Button1

' Show Cla Properties
Dim cla As New Class1
Me.PropertyGrid1.SelectedObject = cla

والتحكم PropertyGrid يقوم بعرض خصائص التحكم أو الفئة Properties فقط فهو لا يعرض المتغيرات العامة Public Variables مثلا وهو يعرض من هذه الخصائص تلك القابلة للاستعراض فأي خاصية معلمة بالواصفة Browsable(False) لن يتم عرضها كما تستخدم الواصفة Category لتنظيم خصائص التحكم ضمن أقسام والواصفة Description لإظهار وصف لتلك الخاصية حيث يتم ضبط قيم هذه الواصفات بالشكل المناسب ولكل خاصية على حدى عند كتابة كود الفئة أو التحكم

فإذا افترضنا أنه لدينا فئة باسم Class1 نريد عرض خصائصها في التحكم PropertyGrid وكان كود هذه الفئة كما يلي

Imports System.ComponentModel

Public Class Class1
	Public Enum ProgrammingLanguageEnum
		VisualBasic
		CSharp
		CPlusPlus
		Java
		Pascal
	End Enum

	Private _mTest As String
	Private _mName As String
	Private _mProg As ProgrammingLanguageEnum

	<Browsable(False)> _
	Public Property Test() As String
		Get
			Return _mTest
		End Get
		Set(ByVal value As String)
			_mTest = value
		End Set
	End Property

	<Category("Personal"), Description("Person Name.")> _
	Public Property Name() As String
		Get
			Return _mName
		End Get
		Set(ByVal value As String)
			_mName = value
		End Set
	End Property

	<Category("Lang"), Description("His Programming Language")> _
	Public Property ProgrammingLanguage() As ProgrammingLanguageEnum
		Get
			Return _mProg
		End Get
		Set(ByVal value As ProgrammingLanguageEnum)
			_mProg = value
		End Set
	End Property

End Class

يمكننا كتابة الكود التالي لإظهار خصائص المتغير cla الذي هو عبارة عن تواجد ما لتلك الفئة كما يلي

Dim cla As New Class1
Me.PropertyGrid1.SelectedObject = cla

ففي هذه الفئة استخدمنا في البداية استيرادا لمجال الأسماء System.ComponentModel لكي نتمكن من ضبط بعض الواصفات الخاصة بخصائص فئتنا والتي تؤثر على طريقة إظهار هذه الخصائص في التحكم PropertyGrid حث تلاحظ أن الخاصية Test مزينة بالواصفة Browsable مضبوطة قيمتها إلى False لذا فهي ستسبب عدم ظهور الخاصية Test في التحكم PropertyGrid عندما يعرض خصائص الفئة Class1 ويمكن استخدام الواصفة Category لضبط القسم الذي نرغب في إظهار الخاصية فيه ضمن التحكم PropertyGrid فمثلا تم ضبط الواصفة Category إلى Personal بالنسبة للخاصية Name التي ستلاحظ ظهورها ضمن قسم Personal عند عرض خصائص الفئة والواصفة Description تمكنك من كتابة وصف للخاصية يظهر أسفل نافذة التحكم PropertyGrid

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

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