باسلام
نمی دانم چطور پروپرتی ها را ایجاد کنم
لطفا راهنمایی کنید
این کامپوننت از گرید ویو ارث مبرد
عکس زیر
http://s7.picofile.com/file/8233695700/Untitled.png
تشکر
باسلام
نمی دانم چطور پروپرتی ها را ایجاد کنم
لطفا راهنمایی کنید
این کامپوننت از گرید ویو ارث مبرد
عکس زیر
http://s7.picofile.com/file/8233695700/Untitled.png
تشکر
بفرمایید :) کافیه ارث بری انجام بدید
سلام به همه.
من یک کامپوننت دارم با دو فقره ProvideProperty برای اشیاء فرم که کامپوننت به هر دوی اونها نیاز داره:
ProvideProperty.jpg
می خوام بدونم آیا این امکان وجود داره که بصورت یک خصوصیت Expandable برای اشیاء نمایش داده بشن؟!
شبیه به خصوصیت FlatAppearance و ...:
FlatAppearance.jpg
سلامی دوباره.
بالاخره موفق شدم ProvideProperty های کامپوننت رو بصورت Expandable در بیارم و به درستی مقادیرشون در Designer ذخیره سازی بشه.
Expandable Provide Properties.jpg
چیزی که هست به همون شیوه Expand کردن خصوصیت های معمولی هست با این تفاوت که TypeConverterAttribute رو به کلاسی می دیم که مقدار ProvidePrioperty رو تشکیل میده.
و ی نکته خیلی مهم اینه که برای ذخیره تغییرات ProvideProperty ها باید اونها رو هم بصورت پروواید برای کلاس ایجاد کنیم با ان تفاوت که برای متود Get اتریبیوت Browsable > False بشه.
و زمانی که خصوصیت های کلاسی که خصوصیت های اون Expand شده مقادیر رو بخوان بگیرن یا Set کنند با این پروواید پراپرتی ها مچ کنیم که هم زمان تغییرات ثبت بشه و فراخوانی بشه.
و یک نکته مهم دیگه برای اینکه خصوصیت پروواید Expandable نمایش داده بشه باید در متود Get از اون، با این شرط که Collection مربوطه Component رو در خودش نداره یک آیتم جدید به همراه همون Component در مقدار جدید از کلاس Expand شده به اون(Collection) اضافه کنیم و همزمان از طریق New Constructor خود کلاس فعلی و component رو به کلاس Expand شده ارسال کنیم تا بتونیم متودهای کلاسمون رو برای فراخوانی و مقداردهی استفاده کنیم.
چون زبان برنامه نویسی که استفاده کردم Visual Basic هست فقط به توضیح شیوه انجامش اکتفا می کنم.
آخرین ویرایش به وسیله ROSTAM2 : شنبه 28 آبان 1401 در 12:32 عصر