PDA

View Full Version : تشخیص شی



Future
جمعه 10 فروردین 1386, 12:11 عصر
سلام دوستان، من روی یک فرم 5 تا شکل گذاشتم و روی هر شکل یک label قرار دارم.می خوام وقتی ماوس روی هر شکل رفت اسم آن label را برگرداند.ممنون میشم اگه کسی بگه باید چکار کنم.
با تشکر

omid_Ahmadi
جمعه 10 فروردین 1386, 12:13 عصر
فقط پنج شکل داری، یا ممکنه بیشتر بشه؟

Future
جمعه 10 فروردین 1386, 12:24 عصر
نه بیشتر از 5 تا است و حتی ممکن است کمتر هم باشد

omid_Ahmadi
جمعه 10 فروردین 1386, 12:35 عصر
پس لیبل ها به صورت دینامیک ایجاد میشن و همینطور پیکچر باکس ها؟
یه روش اینه که هر وقت پیکچر باکسی ایجاد شد، بعد از اینکه لیبل مرتبط به اون رو ایجاد کردی، لیبل رو به Object تبدیل کنی و در خاصیت Tag قرار بدی.
به این ترتیب زمانی که ماوس در موقعیت خاصی بود، پیکچر باکس مورد نظر رو بدست بیار و بعد برای دسترسی به لیبل، شیئ موجود در خاصیت Tag رو به لیبل تبدیل کن.

Future
جمعه 10 فروردین 1386, 12:50 عصر
نه دوست عزیز لیبل ها بصورت دینامیک ایجاد نمی شوند.تمام pictures ها هم از قبل روی صفحه آماده هستند و لیبل ها هم روی pictures ها قرار دارند و.من فقط می خوام هر زمان که روی عکس مورد نظر رفتم بگه کدام لیبل روی آن قرار داره.
با تشکر

omid_Ahmadi
جمعه 10 فروردین 1386, 13:11 عصر
پس چطور میگی تعداد لیبل ها مشخص نیست؟ به این صورت لیبلها در زمان طراحی تعدادشون معلومه که، حالا یا 5 تا یا 500 تا.
در این صورت کار ساده تره. کافیه لیبل ها رو در یک آرایه قرار بدی، نامگذاری لیبلها و پیکچر باکسها رو هم طوری انجام بدی اندیس لیبل مربوط به یه پیکچر باکس در آرایه، در انتهای نام PictureBox اومده باشه. برای مثال لیبلی که مربوط به PictureBox شماره 10 میشه، در اندیس 10 از آرایه قرار داشته باشه و نام PictureBox هم برابر نامی مثل Pics10 باشه. به این ترتیب وقتی PictureBox رو مشخص کردی می تونی اندیس لیبل مربوط به اون رو از نام PictureBox استخراج کرده و به اون دسترسی پیدا کنی.
البته روشهای دیگه ای هم وجود داره که بعضا کد نویسی ساده تری دارن، اما این روش سرعت بهتری داره و حتی اگر تعداد تصاویر زیاد هم باشن، باز هم خوب کار می کنه (ممکنه روش سریعتر دیگه ای هم وجود داشته باشه)