PDA

View Full Version : سوال: مشکل ایجاد Property در Class



gilsoft
پنج شنبه 08 دی 1390, 08:30 صبح
سلام دوستان عزیز
میخوام تو یه کلاس Property به شکل زیر معرفی کنم ، یعنی در Property با کلیک روی + یا - زیر مجموعه ی آن Property نمایش داده شود مثل : Property Icon or Font or Size or Location or ... نمونه شکل هم براتون گذاشتم ... لطفا راهنمایی کنید ...:متفکر:

79860

alimanam
پنج شنبه 08 دی 1390, 12:04 عصر
با سلام

برای این کار یک پروژه از نوع Class Library ایجاد کن . بعد Class1 رو حذف کن و بعد روی پروژه ClassLibrary1 راست کلیک کن و گزینه Add و بعد Component رو انتخاب کن یک نام برای این کامپونت خودت انتخاب کن بعد کدهای زیر رو در کلاس کامپونت خودت اضافه کن و پروژه رو Build کن حالا یه کامپونت داری که Property فونت رو داره یک فونت انتخاب کن میبینی که چیزی که میخواستی انجام شده . راستی یادم رفت این نکته رو هم اضافه کنم اول از همه بعد از ایجاد پروژه رفرنس System Drawing رو به پروژه اضافه کن تا بتونی از امکانات این رفرنس در پروژه بهره ببری .

http://up4.iranblog.com/images/akn8g00gz0d0lojk9j9.png


Public Class mycomponent
Private _font As Drawing.Font
Public Property Font() As Drawing.Font
Get
Return _font
End Get
Set(ByVal value As Drawing.Font)
_font = value
End Set
End Property
End Class

موفق باشید ./

gilsoft
پنج شنبه 08 دی 1390, 13:05 عصر
با سلام

برای این کار یک پروژه از نوع Class Library ایجاد کن . بعد Class1 رو حذف کن و بعد روی پروژه ClassLibrary1 راست کلیک کن و گزینه Add و بعد Component رو انتخاب کن یک نام برای این کامپونت خودت انتخاب کن بعد کدهای زیر رو در کلاس کامپونت خودت اضافه کن و پروژه رو Build کن حالا یه کامپونت داری که Property فونت رو داره یک فونت انتخاب کن میبینی که چیزی که میخواستی انجام شده . راستی یادم رفت این نکته رو هم اضافه کنم اول از همه بعد از ایجاد پروژه رفرنس System Drawing رو به پروژه اضافه کن تا بتونی از امکانات این رفرنس در پروژه بهره ببری .

http://up4.iranblog.com/images/akn8g00gz0d0lojk9j9.png


Public Class mycomponent
Private _font As Drawing.Font
Public Property Font() As Drawing.Font
Get
Return _font
End Get
Set(ByVal value As Drawing.Font)
_font = value
End Set
End Property
End Class

موفق باشید ./



از راهنمایی شما ممنونم
من یه کامپوننت TextBox نوشتم .. یه سری Property براش تعریف کردم
میخواستم Property های تعریف شده ی خودم رو مثل Font درون یک زیر مجموعه قرار بدم.
مثال میزنم (البته این مثال مربوط به کامپوننت خودم نمیشه !) :
فرض کنیم یه کانکشن استرینگ در کلاس داریم که اون از اجزایی مانند Provider, DataSource, User, Pass ساخته میشه .
حالا میخوام بجای اون کلمه Font کلمه ی ConnectionString قرار بگیره و با کلیک کردن روی آیکن [+] زیر مجموعه های آن که عبارتند از (Provider, DataSource, User, Pass) بجای Name, Size, Unit, Bold قرار بگیره ...
آیا تونستم خواسته ام رو به شما دوست عزیزم برسونم ؟؟؟ :متفکر:

خواهش میکنم توضیح بدید ... قبلا از همکاردی و صبوری شما سپاسگزارم ....

alimanam
جمعه 09 دی 1390, 00:12 صبح
با سلام

برای این منظور باید کدهاتون رو به روش زیر بنویسین یعنی یک Category برای اون Property در نظر بگیرین .

Imports System.ComponentModel

Public Class myComponent
Private _parameter As System.Data.SqlClient.SqlParameter
Private _password As String
Private _username As String
<Category("Connection String")> _
Public Property Password() As String
Get
Return _password
End Get
Set(ByVal Value As String)
_password = Value
End Set
End Property
<Category("Connection String")> _
Public Property Username() As String
Get
Return _username
End Get
Set(ByVal Value As String)
_username = Value
End Set
End Property
<Category("Connection String")> _
Public Property Parameter() As System.Data.SqlClient.SqlParameter
Get
Return _parameter
End Get
Set(ByVal Value As System.Data.SqlClient.SqlParameter)
_parameter = Value
End Set
End Property
End Class


موفق باشید ./

gilsoft
جمعه 09 دی 1390, 12:38 عصر
با سلام

برای این منظور باید کدهاتون رو به روش زیر بنویسین یعنی یک Category برای اون Property در نظر بگیرین .

Imports System.ComponentModel

Public Class myComponent
Private _parameter As System.Data.SqlClient.SqlParameter
Private _password As String
Private _username As String
<Category("Connection String")> _
Public Property Password() As String
Get
Return _password
End Get
Set(ByVal Value As String)
_password = Value
End Set
End Property
<Category("Connection String")> _
Public Property Username() As String
Get
Return _username
End Get
Set(ByVal Value As String)
_username = Value
End Set
End Property
<Category("Connection String")> _
Public Property Parameter() As System.Data.SqlClient.SqlParameter
Get
Return _parameter
End Get
Set(ByVal Value As System.Data.SqlClient.SqlParameter)
_parameter = Value
End Set
End Property
End Class


موفق باشید ./


من منظورم Property تو کادر قرمزه !!!
شما قسمت کادر آبی (Category) رو توضیح دادید !

79893

alimanam
جمعه 09 دی 1390, 15:18 عصر
با سلام


من منظورم Property تو کادر قرمزه !!!
شما قسمت کادر آبی (Category) رو توضیح دادید !دوست عزیز قرار بود خودتون هم کمی بیشتر مطالعه کنین و زود تا یه سوال براتون پیش میاد خودتون رو فراموش نکنین و از کسی بپرسین اینجوری 10 سال هم پیش برین فکر نمیکنم چیزی یاد بگیرین البته من کوچکتر ار این هستم که به شما این نکات رو یادآور بشم خدایش قصدم فقط اینه که خودت یه چیزی یاد بگیری . وقتی یه سوال واست پیش میاد زود خودت رو نباز یه سرچی تو تالارهای دیگه بکن یه چندتا کتاب بخون کم کم دستت تو کدنویسی رون تر میشه و خودت لذت میبری . امیدوارم از صحبت های حقیر ناراحت نشده باشی .

http://up4.iranblog.com/images/2x9yw5hekvpivy3zi2.png

موفق باشید ./

gilsoft
دوشنبه 12 دی 1390, 00:41 صبح
با سلام

دوست عزیز قرار بود خودتون هم کمی بیشتر مطالعه کنین و زود تا یه سوال براتون پیش میاد خودتون رو فراموش نکنین و از کسی بپرسین اینجوری 10 سال هم پیش برین فکر نمیکنم چیزی یاد بگیرین البته من کوچکتر ار این هستم که به شما این نکات رو یادآور بشم خدایش قصدم فقط اینه که خودت یه چیزی یاد بگیری . وقتی یه سوال واست پیش میاد زود خودت رو نباز یه سرچی تو تالارهای دیگه بکن یه چندتا کتاب بخون کم کم دستت تو کدنویسی رون تر میشه و خودت لذت میبری . امیدوارم از صحبت های حقیر ناراحت نشده باشی .

موفق باشید ./

سلام.

با اجازه ی مدیران محترم تالار/بخش ضمن عذرخواهی میخوام چند کلمه ای رو بیان کنم !

مدت کوتاهیست که (پس از 15 سال کار با FP/VFP) به VB.net تغییر زبان دادم
از طرفی قبلا تو FP/VFP یه نرم افزار جامع حسابداری مالی دوبل (خیلی کاراتر از نرم افزار همکاران سیستم در زمان خود) که حدود 76000 سطر کد داره ، و به مرور زمان حدود 170 فانکشن شخصی در محیط مذکور نوشتم که تو این تغییر زبان خیلی جای خالی شونو حس می کنم!
این نرم افزار رو اجبارا باید بروز کنم و تا پایان امسال (تعطیلات عید 1391) تحویل مشتریان قدیم خودم بدم.
الانی که دارم این مطالب رو می نویسم هنوز پروژه ی اصلی برنامه استارت نخورده و من همچنان مشغول طراحی Component,Module,UserControl,Class, ... هام هستم !
بهمین خاطر منو می بخشید که بعضا سوالات تکراری یا بی موردی رو مطرح میکنم ... این بخاطر فشار کار هستش ! امیدوارم که تک تک شما دوستان عزیز به بزرگی، صبوری و شکیبایی خودتون منو عفو بفرمایید.
قول میدم کنترلها، کامپوننتها ماجول ها و کلاسهای طراحی شده ی خودم رو (که به کمک شما سروران عزیز داره انجام میشه) تو همین سایت به اشتراک بذارم تا بقیه دوستان استفاده کنند.

http://barnamenevis.org/showthread.php?320892-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%D8%A8%D8%B1%D8%AF%D8%A7%D8%B4%D8%AA%D9%86-%D9%BE%D9%86%D8%AC%D8%B1%D9%87-Desktop-%D9%81%D8%A7%DA%A9%D8%B3-%D9%BE%D8%B1%D9%88-%D8%A7%D8%B2-%D8%B2%DB%8C%D8%B1-Form-%D8%A7%D8%B5%D9%84%DB%8C&p=1408905&viewfull=1#post1408905


ارادتمند تک تک شما سروران عزیز
حمید محرابی - رشت

mgh64120
یک شنبه 27 فروردین 1391, 21:47 عصر
با عرض سلام خدمت شما دوست گرامي جناب اقاي alimanam و بقيه دوستان

85807
در كامپوننتي كه شما طراحي كرديد، مقدار Property طبق عكس فوق، برابر myComponent.Person است.
در حالي كه مثلا در Property قلم(Font) مقدار متغير شامل مقادير زير مجموعه آن مي باشد. مثل : Microsoft Sans Serif; 8.25pt
راه حل چيست؟ براي رسيدن به اين نتيجه : Ali;Dakhilzadeh;28
متشكرم .بدرود.

mgh64120
چهارشنبه 30 فروردین 1391, 23:18 عصر
سلام علي اقا
من دنبال جواب اين سؤال رفتم ولي اون رو پيدا نكردم. اگر ممكنه منو راهنمايي كنيد.
متشكرم.

alimanam
جمعه 08 اردیبهشت 1391, 17:59 عصر
با سلام


در كامپوننتي كه شما طراحي كرديد، مقدار Property طبق عكس فوق، برابر myComponent.Person است.
در حالي كه مثلا در Property قلم(Font) مقدار متغير شامل مقادير زير مجموعه آن مي باشد. مثل : Microsoft Sans Serif; 8.25pt
راه حل چيست؟ براي رسيدن به اين نتيجه : Ali;Dakhilzadeh;28
متشكرم .بدرود.

دوست عزیز برای این منظور نیاز بود کمی بیشتر در مورد نوشتن کامپونت های سفارشی مطالعه بکنین . به هر حال من تغییراتی در سورس دادم که نتیجه رو میتونین از فایل ضمیمه مشاهده کنین .

http://uploadkon.ir/uploads/5f75d85b756589a5966f9c7fddf59abd.png

موفــــق باشید./