PDA

View Full Version : سوال: ایجاد پروپرتی برای کامپوننت ...



kablayi
سه شنبه 03 دی 1387, 00:24 صبح
سلام ...
دوستان اگه ممکنه در مورد ایجاد property برای کامپوننت توضیح بدین طوری که بشه از طریق پنجره properties مقدار اونو ست کرد ...:خجالت:

به عنوان مثال من در کامپوننتم از یک textbox استفاده کردم و این کد رو برای ایجاد پروپرتی نوشتم ... ولی وقتی اونو روی فرم میزارم این پروپرتی به پنجره properties اضاف نشده :ناراحت:... ولی از طریق کد نویسی به اون دسترسی دارم ...

Property Number() As Integer
Get
Return CInt(TextBox1.Text)
End Get
Set(ByVal value As Integer)
TextBox1.Text = value
End Set
End Propertyممنون

jalalnooritehrani
سه شنبه 03 دی 1387, 09:33 صبح
شما بايد كلمه Public را قبل از كلمه Property بنويسيد




PublicProperty NameForm() As NameFrm
Get
Return m_NameFrm
EndGet
Set(ByVal value As NameFrm)
m_NameFrm = value
EndSet
EndProperty

mostafaaa
سه شنبه 03 دی 1387, 09:39 صبح
سلام دوست من
کد شما رو تست کردم و به پنجره Properties هم اضافه شد، فقط یک مشکل اینکه TextBox نباید خالی باشه و به صورت پیشفرض باید داخلش یه عدد بزارید، مثلا 0
ولی اگه مشکلتون حل نشد به این شکل از این کد استفاده کنید.
اول این NameSpace رو اضافه کنید

Imports System.ComponentModel
و بعد

<Browsable(True)> _
Public Property Number() As Integer
Get
Return CInt(Me.TextBox1.Text)
End Get
Set(ByVal value As Integer)
Me.TextBox1.Text = CStr(value)
End Set
End Property

kablayi
سه شنبه 03 دی 1387, 13:02 عصر
سلام ...
میشه بگین این
<Browsable(True)> _

چیکار میکنه ....؟
ممنون!

mostafaaa
سه شنبه 03 دی 1387, 17:17 عصر
سلام دوست من
اول بگو مشکل حل شد؟
این دستور همونطور که از اسمش هم معلومه زمانی که True باشه Property مربوطه توی لیست Properties توی محیط Design قرار میگره و اگه Fals باشه قرار نمی گیره و فقط از طریق کد قابل دسترسی میشه.

kablayi
چهارشنبه 04 دی 1387, 11:18 صبح
ممنون مشکل حل شد ... ولی اگر مقدار اولیه به textbot ندم کار نمیکنه ... مشکل از مقدار اولیه بود ... ممنون