PDA

مشاهده نسخه کامل : در خواست آموزش Image map windows form?



mojdeh6583
14-06-10, 08:28
با سلام خدمت دوستان عزیز:Love-PCN~!:
من طی مشکلی که پیدا کرده بودم و جستجو های فراوانی که انجام دادم برای رفع مشکلم به این کنترل برخورد کردم
ولی متاسفانه نمی دونم باهاش چجوری کار کنم

آدرسش اینه:
Only the registered members can see the link

این همون ایمیج مپ خودمون توی ASP هست ولی از sampl که سایت کد پراجکت گذاشته بود هیچی نفهمیدم
پلیز
پلیز
پلیز
یکی آموزش بده ببینیم چجوری میشه باهاش کار کرد

با تشکر فراوان:give_rose:

ravegoat
21-06-10, 22:58
سلام!

در اين كامپوننت CodeProject برنامه نويس از يه PictureBox استفاده كرده با تعيين مختصات HotSpot ها و بهره گيري از رويداد هاي خود جعبه ي تصوير، يك ImageMap ايجاد كرده.

براي استفاده از اين كامپوننت اول بايد اون رو وارد ToolBox كنيد و بعد كنترل را روي فرم قرار بديد؛ مثلا" با اسم imageMap1

خاصيت imageMap1.Image براي تعيين تصوير imagemap هستش.

مثل ASP.Net سه نوع HotSpot ميشه براي كنترل تعريف كرد:




this.imageMap1.AddRectangle("Rectangle", 140, 20, 280, 60);
this.imageMap1.AddPolygon("Polygon", new Point[] {new Point(100, 100),
new Point(180, 80), new Point(200, 140)});
this.imageMap1.AddElipse("Ellipse", 80, 100, 60);



اون اعدادي رو كه مشاهده مي كنيد حدود نواحي رو مشخص مي كنه: اولي مستطيل دومي چند ضلعي (چون مختصات سه نقطه داده شده، ميشه مثلث) و آخري مربوط به دايره هست. نوشته هاي داخل گيومه هم فكر براي نام ناحيه باشه (Key).

با جراي اين دستورات ناحيه ها ساخته ميشه و به هر كدوم يه انديس تعلق مي گيره.

هر وقت روي هر ناحيه كليك بشه، رويداد RegionClick رخ ميده كه مي تونيد به اون مثله هر كنترل ديگه دسترسي داشته باشيد. با وقوع رويداد مقادير انديس و نام (Index & Key) مربوط به ناحيه ي كليك شده برگردونده ميشه.
رويداد MouseClick رو براي يه فرم در نظر بگيريد. وقتي اين رويداد رخ ميده براي فهميدن مختصات نقطه كليك شده بايد مقدار e.Location (بهش مي گم EventArg) رو بخونيد. حالا RegionClick اين imagemap هم يه EventArg داره كه با اون مي تونيد مشخصه HotSpot كليك شده رو دريافت كنيد. البته چون پروژه رو خوب بررسي نكردم، 100% مطمئن نيستم.

با سپاس
آرمين