PDA

View Full Version : سوال: نحوه قرار دادن پروپرتی درختی برای کنترل سفارشی



Javad_raouf
چهارشنبه 28 اسفند 1392, 12:05 عصر
سلام دوستان من یک سوالی دارم برای پروپرتی های کنترل های سفارشی خودم
منظورم نحوه نمایش مشخصه ها در پنجره Properties ویژوال استادیو هست.
مثلا مشخصه Size در کنترل ها با یک علامت + باز می شود و زیر مجموعه هایش که دو مشخصه Width و Height هستند نمایان می شود و می توان هر کدام رو ویرایش نمود
ولی وقتی من یک struct دلخواه خودم رو درست می کنم و دو مشخصه از نوع int درونش تعریف می کنم و در کامپوننت اختصاصی خودم از اون struct استفاده می کنم در پنجره Properties نمایان می شود ولی به صورت غیر فعال


به عنوان نمونه من یک چنین Stractی نوشتم:
public struct mySize
{
public mySize(int Height, int Width)
: this()
{
this.Height = Height;
this.Width = Width;
}
public int Height { get; set; }
public int Width { get; set; }
}
و توی بدنه کنترل خودم چنین کدی می نویسم:
mySize myTest = new mySize(1, 2);
public mySize Test { get { return myTest; } set { myTest = value; } }
وقتی اینو کامپایل می کنم و می خوام ازش توی فرمم استفاده کنم توی پروپرتی هاش پروپرتی مربوطه نشون داده میشه ولی غیر فعاله و نمیشه ویرایشش کرد و یا به صورت درختی بازش کرد



حتی به جای استفاده از struct از Class هم استفاده کردم ولی بازم نشد
مثلا کلاس Font یک نمونه دیگست که من حسرتش رو می خورم که هم به صورت درختی باز میشه و هم میشه روی باتونش کلیک کرد و در یک فرم کاملا اختصاصی این پروپرتی رو ست کرد

امیدوارم منظورم رو رسونده باشم کسی می تونه کمکم کنه؟:بوس:

plus
چهارشنبه 28 اسفند 1392, 14:56 عصر
شما بایستی یک UI Type ٍEditor سفارشی تعریف کنید.این مثال رو ببینید: http://support.microsoft.com/kb/2127711

Javad_raouf
دوشنبه 11 فروردین 1393, 10:03 صبح
مرسی ولی این آدرسی که فرستادید باز نمیشه
میشه یک نمونه کد بزارید یا یک Sample؟

plus
سه شنبه 12 فروردین 1393, 02:45 صبح
لینک رو بررسی کردم مشکلی نداره

ROSTAM2
سه شنبه 12 فروردین 1393, 05:13 صبح
اگر جستجو کنید توی همین سایت هستباید از TypeConverterAttribute و یک DrivedClass ازExpandableObjectConverter کمک بگیرید

http://msdn.microsoft.com/en-us/library/system.componentmodel.expandableobjectconverter(v= vs.110).aspx

Javad_raouf
شنبه 16 فروردین 1393, 16:43 عصر
لینک رو بررسی کردم مشکلی نداره
آره این دفعه باز شد متشکر


اگر جستجو کنید توی همین سایت هستباید از TypeConverterAttribute و یک DrivedClass ازExpandableObjectConverter کمک بگیرید

http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx (http://msdn.microsoft.com/en-us/library/system.componentmodel.expandableobjectconverter(v= vs.110).aspx)
من نمی دونستم چه اصطلاحی رو باید جستجو کنم وگرنه تاپیک نمی زدم:لبخندساده:

Mousavmousab
شنبه 16 فروردین 1393, 19:02 عصر
واقعاٌ دست هر دوتاتون درد نکنه
عجب سوالی و عجب راهنمای کاملی.
من فقط دانلود کردم و دیدم چی هست و چقدر ارزش داره !!! بعداٌ موشکافانه بررسیش می کنم.
موفق باشین