باسلام .
میخواستم طریقه ساخت Property های که ایتم دارن رو بدونم . این نوع Property ها با اسم Items در بیشتر کنترل ها تعریف میشن .
Capture.JPG
ممنون .
باسلام .
میخواستم طریقه ساخت Property های که ایتم دارن رو بدونم . این نوع Property ها با اسم Items در بیشتر کنترل ها تعریف میشن .
Capture.JPG
ممنون .
اگر نوع Property که تعریف میکنید از ICollection ارث بری داشته باشه اون رو به این صورت نشون میده.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
سلام من یک کلاس به این صورت تعریف کردم .
Public Class Car
Inherits System.Windows.Forms.Control
Public Property Items As List(Of Item)
Get
End Get
Set(value As List(Of Item))
End Set
End Property
Public Class Item
Public Property Name As String
Public Property Color As Color
End Class
End Class
الان مشکلم با ذخیره و بازیابی ایتم هاست .
چه مشکلی داری؟
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
البته درستش اینه که اینطوری بنویسی :
Public Class Car Inherits System.Windows.Forms.Control
Private _Items As List(Of Item) = New List(Of Item)
Public Property Items As List(Of Item)
Get
Return _Items
End Get
Set(value As List(Of Item))
_Items = value
End Set
End Property
Public Class Item
Public Property Name As String
Public Property Color As Color
End Class
End Class
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
Error ی که میده چیه!؟
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
سلام . این Error ی هست که موقع اضافه کردن کنترل به فرم نشون میده .
Capture.JPG
کسی دلیل این خطا رو نمیدونه ؟
PublicClassItem رو به یک کلاس جداگانه انتقال بده ببین درست میشه. حدثی نمیشه گفت اگر سورست کوچیکه بزارش اینجا بررسی کنیم.
دانلود حسابخانه مانی، برنامه مدیریت درآمد و هزینه رایگان
هر آنچه که هستیم، نتیجه افکاریست که در گذشته داشته ایم. (بودا)
سلام به همه.
کلاسی که بعنوان Type کالکشن تعیین شده باید بصورت ساده به کالکشن ارائه بشه تا در دیزانر قابل تجزیه و تبدیل باشه و همچنین باید از اتریبیوت <Serializable()> برای کلاس استفاده بشه.
Serializable.jpg
این هم خصوصیت که باید براش چند تا اتریبیوت استفاده کنید از جمله Editor البته اگه سفارشی باشه و DesignerSerializationVisibility(DesignerSerializat ionVisibility.Visible):
Custom Collection.jpg
سلام مجدد.
برای زمانی که یک دیکشنری داریم که مقادیر باید به اون اضافه بشه مثل تصویر دوم از پست 11، در ویرایشگر سفارشی حتما باید از TypeDescryptor برای ذخیر مقادیر دیکشنری استفاده بشه.
Protected RegistryDatasValue As New Dictionary(Of Integer, RegistryDataItem)
<ProviderType(ProvideTypes.RegistryData)>
<Browsable(True), RefreshProperties(RefreshProperties.All)>
<Editor(GetType(StringTableCollectionEditor), GetType(Drawing.Design.UITypeEditor))>
<DesignerSerializationVisibility(DesignerSerializa tionVisibility.Visible)>
Public Property RegistryDatas() As Dictionary(Of Integer, RegistryDataItem)
Get
Return RegistryDatasValue
End Get
Set(ByVal value As Dictionary(Of Integer, RegistryDataItem))
RegistryDatasValue = value
End Set
End Property
متود ایجاد شده برای این کار که باید در ویرایشگر خصوصیت و بعد از Ok کردن پنجره یا بستن لیست کشویی خصوصیت اعمال بشه:
Private Sub SetPropertyValue(Instance As Object, PropertyName As String, Value As Object)
Dim StringsDescryptor As PropertyDescriptor = TypeDescriptor.
GetProperties(Instance)(PropertyName)
StringsDescryptor.SetValue(Instance, Value)
End Sub