PDA

View Full Version : تعریف Property برای کلاس



emshahram
شنبه 20 آبان 1385, 01:21 صبح
با سلام خدمت دوستان
چطور میشه به یه کلاس موجود یه Property اضافه کرد.مثلا به کلاس
DataGridViewTextBoxCell پروپرتی RightToLeft اضافه کنیم.

titbasoft
شنبه 20 آبان 1385, 12:58 عصر
اگر اجازه میده که ازش inherit کنید می تونید اون رو inherit کنید و خیلی راحت پراپرتی مورد نظر رو اضافه کنید

odiseh
شنبه 20 آبان 1385, 13:39 عصر
اگر اجازه میده که ازش inherit کنید می تونید اون رو inherit کنید و خیلی راحت پراپرتی مورد نظر رو اضافه کنید



چطوری؟ میشه لطفا یه مثال بزنید

mostafa_leman
شنبه 20 آبان 1385, 23:42 عصر
اینم کد Property:


Private newPropertyValue As Integer
Public Property NewProperty() As Integer
Get
Return newPropertyValue
End Get
Set(ByVal value As Integer)
newPropertyValue = value
End Set

اگه توضیح خواستی بگو تا بگم

rezaei manesh
یک شنبه 21 آبان 1385, 08:41 صبح
بعید میدونم منظور emshahram این بوده باشه آقا مصطفی
ایشون می خواد به کیاس موجود یک پراپرتی تعریف کنه نه او کلاس خودش
فکر کنم باید منتظر جواب جناب مدیر باشیم

titbasoft
یک شنبه 21 آبان 1385, 14:39 عصر
Class myDataGridViewTextBoxCell
inherits DataGridViewTextBoxCell

Private mvarRTL as boolean
Property RTL as boolean
Get
Return mvarRTL
End Get
Set(ByVal value As boolean)
mvarRTL = value
End Set
End Property

End Class

تا حالا اون چیزی که شما می خواستید ساخته شده و شما می تونید به جای DataGridViewTextBoxCell از myDataGridViewTextBoxCell اما این کار هنوز کاربردی نیست، اگر درست متوجه شده باشم باید render ی myDataGridViewTextBoxCell رو بازنویسی کنید. برای رسیدن به هدفتون کمی مشکل خواهید داشتید و از reflector های موجود هم می تونید برای بدست اوردن کد render ی DataGridViewTextBoxCell استفاده کنید.

emshahram
سه شنبه 23 آبان 1385, 00:59 صبح
من کلاس زیر رو برای یه ستون نوشتم



Public Class LTRTextBoxClolumn
Inherits DataGridViewTextBoxColumn
Private _RightToLeft As _
system.Windows.Forms.RightToLeft = windows.Forms.RightToLeft.Inherit
Public Property RightToLeft() As System.Windows.Forms.RightToLeft
Get
Return _RightToLeft
EndGet
Set(ByVal value As System.Windows.Forms.RightToLeft)
_RightToLeft = value
EndSet
EndProperty
End Class



پروپرتی رو به ستون اضافه میکنه(پنجره پروپرتی) ولی کار نمیکنه یعنی تغییر مقدار تغییری در ستون ایجاد نمیکنه حتی وقتی مقدار رو تغییر میدم دوباره به حالت اول برمیگرده

emshahram
جمعه 26 آبان 1385, 19:27 عصر
با سلام
حالا که درباره این مطلب به نتیجه نرسیدیم یه جور دیگه مشکل رو حل کنیم پروپرتی مورد نظر(RightToLeft) توی کنترل TextBox هست چطوری باید سلول Datagridview از TextBox ارث بری کند.

nowar1352
یک شنبه 08 مرداد 1391, 13:57 عصر
دوست عزيز اگر بخواهيم RightToLeft يه ستون و تغيير بديم چكاربايد كنيم