PDA

View Full Version : تعریف Property با مقادیر مشخص



milad-fa
جمعه 16 اردیبهشت 1390, 11:25 صبح
سلام دوستان،
چطور میتونم برای کامپوننتی که طراحی کردم Property تعریف کنم که کاربر در زمان طراحی فقط بتونه یکی از مقادیر تعریف شده رو انتخاب کنه؟(بصورت Combo مقادیر نمایش داده بشه.)
بطور مثال در خاصیت Locked یک کنترل TextBox نمیشه مقداری به جز True یا False رو انتخاب کرد.
با تشکر.

parselearn
جمعه 16 اردیبهشت 1390, 14:56 عصر
براي true/false نوع بولين را براي پروپرتي انتخاب كنيد

براي ساير از enum استفاده كنيد

Public Enum enum_name
[Left Justify] = 0
[Right Justify] = 1
[Center] = 2
End Enum

Mr'Jamshidy
جمعه 16 اردیبهشت 1390, 15:08 عصر
خاصیت Locked در تکست باکس بصورت Boolean تعریف شده

Dim blnLocked As Boolean

Public Property Get MYLocked() As Boolean
MYLocked = blnLocked
End Property

Public Property Let MYLocked(aLocked As Boolean)
blnLocked = aLocked
End Property

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
blnLocked = PropBag.ReadProperty("Locked", False)
End Sub

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Locked", blnLocked)
End Sub


69603

و یک جا هست که نیاز داری غیر از True و False گزینه های دیگه ای داشته باشی مثل LeftAlign و CenterAlign و RightAlign


Enum CAlign
LeftAlign = 0
CenterAlign = 1
RightAlign = 2
End Enum
Dim MAlign As CAlign

Public Property Get MYAlign() As CAlign
MYAlign = MAlign
End Property

Public Property Let MYAlign(aAlign As CAlign)
MAlign = aAlign
End Property

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
MAlign = PropBag.ReadProperty("Align", 0)
End Sub

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("Align", MAlign)
End Sub

69604

موفق باشید

milad-fa
جمعه 16 اردیبهشت 1390, 15:42 عصر
ممنون از هر دو دوست عزیز خصوصاً جناب Mr'Jamshidy (http://barnamenevis.org/member.php?43330-Mr-Jamshidy).
تشکّر.