PDA

View Full Version : مشکل با scroll پانل



Amir Oveisi
سه شنبه 30 آبان 1385, 14:58 عصر
سلام
من یه پانل دارم که توش چند تا عکس میذارم بصورت Graphics.DrawImage ولی وقتی که لازمه scroll نمیکنه !
چیکار میشه کرد که با این عکسها هم مثل control رفتار کنه؟
ممنون میشم راهنمایی کنین

Amir Oveisi
چهارشنبه 01 آذر 1385, 13:07 عصر
i am waiting

Amir Oveisi
یک شنبه 05 آذر 1385, 11:52 صبح
دوستان کسی نمیخواد منو کمک کنه؟

Amir Oveisi
دوشنبه 06 آذر 1385, 14:20 عصر
کسی نیس؟؟؟؟

ARA
دوشنبه 06 آذر 1385, 17:25 عصر
نمیتونی از picturebox استفاده کنید

autosize کنی کار میکنه ها من امتحانش کردم

PC2st
دوشنبه 06 آذر 1385, 18:29 عصر
خوب به کمک کد نویسی هر چند تا میخوای از picturebox به جای کلاس Graphics.DrawImage استفاده کن. (یعنی picturebox ها رو در حین کد نویسی اضافه کن)
البته یکی از روشهاش اینه... که فکر کنم روش بهتری به غیر از این هم باشه.
autoscroll پنل هم که میدونی باید True باشه.

Amir Oveisi
سه شنبه 07 آذر 1385, 13:29 عصر
من اینارو میدونم ممنون ولی منظور من این نبود
من برنامم یه کاری میکنه که لازم میشه بیش از 10000 تا شکل رو نشون بده حالا مشکل اینه که پانل نمیتونه بیشتر از 10000 تا کنترل نگهداری کنه واه همین نمیتونم از این روشی که شما گفتید استفاده کنم و باید از Graphic استفاده کنم ولی اینجا هم این مشکل پیش میاد که وقتی از گرافیک استفاده میکنم پانل scroll نمیکنه.
حالا ممنون میشم کمکم کنید

ARA
سه شنبه 07 آذر 1385, 16:35 عصر
میتونی بگی دقیقا چه هدفی داری لز این چیکار کنی چون من امتحان کردم با یک سیستم بالا رم 700 mg و cpu 2.8
10,000 تا picture box اونهم بدون عکس بعد3 ،4 دقیقه هم جواب نداد و تو 7920 خطای هندلینگ داد بنابراین اگر هم همچین چیزی ممکن باشه کارایی لازم رو نخواهد داشت
اینطور نیست ؟؟؟

PC2st
سه شنبه 07 آذر 1385, 19:36 عصر
من خواستم pictureBox ها رو به panel اضافه کنم که visual studio بعد از paste کردن 2000 امین pictureBox، هنگ کرد!!!

یکی از راه حلها اینه که هر بار 1000 تاشون رو نمایش بدی و اگر کاربر خواست، 1000 تای دیگه هم نمایش داده بشه و به نوبت تا 10000 عکس رو ببینه. اینجوری به سیستم کمتر فشار میآد و سرعت بهتری میتونه داشته باشه.

اگر هم بخوای که از Graphics.DrawImage استفاده کنی، اگر هیچ راه حل دیگه‌ای به ذهن شما یا دوستان نرسید، میشه خودت یه اسکرول بزاری کنارش و برنامه‌اش رو بنویسی که Graphics.DrawImage ها رو اسکرول کنه. (با تغییر خاصیت top عکسها البته اگر بشه!) تازه، میتونی کاری کنی که وقتی کاربر روی اسکرول کلیک کرد، هر بار فقط 10 الی 20 تا از 10000 تا عکس نمایش داده بشه، و اگر برای نمایش هر عکس برنامه باید اونها رو به حافظه Ram بفرسته، دیگه یهوئی همه 10000 تا عکس توی حافظه RAM اشغال نمیشه و هر بار فقط 10 الی 20 تا عکس در حافظه RAM قرار میگیره و به محض کلیک کاربر روی اسکرول، سریعا برنامه 10 الی 20 تا عکس دیگه رو آماده میکنه الی آخر...

Amir Oveisi
دوشنبه 13 آذر 1385, 13:31 عصر
:متعجب: :متعجب: :متعجب: چراا؟؟؟ من 10000 تا رو راحت اضافه کردم به پانل و هیچ مشکلی هم نداشت البته من بصورت multiThreading کار کردم و CPU Usage هم از 20 تا بالا نمیره!:متفکر:
البته من Label اضافه میکنم به جای PictureBox .
ببینین من میخوام که مثلا 2 به توان 7 در 2 به توان 7 تا مربع کوچیک کنار هم چیده بشن ( واسه یه پروژه درسیه که واسه پارسال بود و الان میخوام کاملش کنم تا بدون محدودیت باشه)
ممنون

Amir Oveisi
شنبه 25 آذر 1385, 09:40 صبح
من منتظر راهنمایی دوستان هستم کماکان