PDA

View Full Version : پیدا نمودن Component های مربوط به یک فرم



shayan_re
دوشنبه 19 اردیبهشت 1384, 18:43 عصر
چگونه می توان کلیه Component ها و Object های مربوط به یک فرم را پیدا نمود؟
البته منظورم Control ها نیست.

Mahdavi
دوشنبه 19 اردیبهشت 1384, 22:41 عصر
با سلام
همه اشیا تو همون خاصیت Control مربوط به فرم قرار می گیرند.
می تونی با حلقه for اونا رو استخراج کنی

M.GhanaatPisheh
سه شنبه 20 اردیبهشت 1384, 00:10 صبح
بیشتر توضیح بدید دوست من.

shayan_re
سه شنبه 20 اردیبهشت 1384, 09:26 صبح
نه دوست عزیز منظور من Object هایی نیست که از Control ها به ارث برده می شند .
مثل SqlConnection منظور من اشیایی هستند که از Component ها ارث بری شده اند.
همه اشیا تو همون خاصیت Control مربوط به فرم قرار می گیرند.
می تونی با حلقه for اونا رو استخراج کنی

اینیکه شما اشاره کردید فقط کنترل هایی رو استخراج میکنه که از System.Windows.Forms مشتق شده باشند.

AspNet
سه شنبه 20 اردیبهشت 1384, 10:33 صبح
یعنی شما میخواین کامپوننتایی رو پیدا کنید که در فرم خودتون ازش استفاده کردین؟

shayan_re
سه شنبه 20 اردیبهشت 1384, 11:36 صبح
بله مثل SqlConnection یا اینکه به فرض MenuItem رو مستقیم پیدا کنیم یا اینکه در فرم جاری ممکنه چند Main Menu داشته باشیم باید همه این Object ها لیست بشند.مرسی

shayan_re
سه شنبه 20 اردیبهشت 1384, 12:03 عصر
هدفمو واضحتر میگم
اگه با کنترل Property Grid کار کرده باشید SelectObject رو اگه در حالت DesignTime باز کرده باشید کلیه Object های معرفی شده به این فرم رو توی Combo نشون میده.حتی MenueItem ها رو.

AspNet
سه شنبه 20 اردیبهشت 1384, 15:47 عصر
اگه نام کنترل رو در متد Control.find() بنویسید نشون نمیده؟

shayan_re
سه شنبه 20 اردیبهشت 1384, 19:21 عصر
نه ببخشید شما این() Control.find رو از کجا آوردید.آیا Refrence اضافه کردید.

AspNet
سه شنبه 20 اردیبهشت 1384, 21:02 عصر
ببخشید اشتباه شد ..با asp.net اشتباه گرفتم :confy2:

shayan_re
چهارشنبه 21 اردیبهشت 1384, 13:56 عصر
آقا کسی نمی خواد سوال منو جواب بده :mad:

یاشار
چهارشنبه 21 اردیبهشت 1384, 14:56 عصر
Component هایی که روی فرمتون دارید لزوما از طریق گرافیکی ایجاد نشده‌اند. خیلی از اونها می‌تونن بوسیله کد ایجاد شده باشند. در مورد همون Connection ی که خودتون مثال زدید، ممکنه چندین Instance داخل کد ایجاد شده باشند که در Designer دیده نشن. فکر می‌کنم تنها راهش این باشه که کد برنامه رو Parse کنید ( که لازمه این کار وجود سورس کد یا deassemble کردن کده )


آقا کسی نمی خواد سوال منو جواب بده

شخصا، وقتی فکر می‌کنم که جواب من کمکی نخواهد کرد، ترجیح می‌دم پست نذارم. حالا که اصرار دارید گذاشتم ! گرچه می‌دونم عملا همچین کاری عاقلانه نیست.

shayan_re
چهارشنبه 21 اردیبهشت 1384, 18:25 عصر
ما فرض رو بر این میذاریم که در DesignTime هستیم دیگه تو این زمان که نیاز به deassemble کردن نیست
یعنی تو این زمان نمیشه.
بعد من یه مثال هم آوردم که PropertyGrid چطوری عمل میکنه ...
فرض رو بر این بذارید که یه کنترل میخواد در زمان طراحی کلیه Object های اضافه شده به فرم رو نه اوناییکه
در کد ساخته میشند رو پیدا کنه حالا چی باید کرد
از اینکه سعی کردید راهنمایی کنید ممنون :wink:

aidinwashere
چهارشنبه 21 اردیبهشت 1384, 22:10 عصر
از Backtracking میتونید ایده بگیرید؟

shayan_re
چهارشنبه 21 اردیبهشت 1384, 22:22 عصر
منظورتون اگه میشه واضحتر بفرمایید ممنون میشم

یاشار
یک شنبه 25 اردیبهشت 1384, 04:08 صبح
توی فایل‌های pdf ام یه کتاب پیدا کردم که فکر می‌کنم به درد همچین کاری بخوره. من خودم این کتاب رو نخونده‌ام ولی فصل دهش رو یه نگاه بندازید اگر همون چیزیه که دنبالش می‌گردید، بگید براتون ایمیل کنم. 4 مگابایت

Developing Visual Studio Macros and Add-ins

shayan_re
یک شنبه 25 اردیبهشت 1384, 16:57 عصر
از دوستان عزیز تشکر
یاشار جان فصل ده فکر کنم بیشتر به درد پیدا کردن ساختار درختی Class ها بخوره.
که از کدوم کلاسها به ارث برده میشند.ولی کاری که باید من انجام بدم پیدا کردن خود Instance هاییکه از Class ها ساخته میشند یه چیز جالب کشف کردم اگه درست باشه مطلب رو می نویسم.خیلی ممنون دوست گرامی