PDA

View Full Version : پاک کردن Image list



vb_nima
جمعه 21 اردیبهشت 1386, 10:52 صبح
من یک image list را به یک کنترل list view متصل کردم . حالا وقتی توی برنامه میخوام محتویات Image list را پاک کنم با این دستور imagelist1.listimages.clear ارور میده. مبنی بر اینکه زمانی که imagelist به کنترل دیگری متصل است نمیتوان این کار را کرد.
حالا من چطوری imagelist را اخالی کنم؟

vb_nima
شنبه 22 اردیبهشت 1386, 13:26 عصر
این آقای CodeMaster X نیستش.
کسی ازش سراغ نداره ؟

CodeMasterX
دوشنبه 24 اردیبهشت 1386, 01:41 صبح
حالا چرا من :لبخند: ؟

شما راهی نداری جر اینکه قبل از پاک کردن لیست فایل ها،اون رو از کنترل هایی که بهشون وصل هست برداری.یعنی اگر به یه Listview متصل هست اول رابطه اش رو با Listview قطع کنی و بعد لیستش رو پاک کنی.

حالا چرا نیازی به همچین کاری پیدا کردی ؟

vb_nima
سه شنبه 25 اردیبهشت 1386, 13:05 عصر
اولا چون بیشتر سوالهام را شما جواب میدید.

خوب کاربر با کلیک در یک لیست گزینه های نشون داده شده در لیست ویو دیگر را تغییر میدهد پس imagelist هم باید خالی شود و دوباره عکسهای جدید در اون قرار بگیره.
من روش قطع اتصال و اتصال در برنامه را بلد نیستم چطوریه ؟؟؟؟ من از داخل propertise لیست ویو اتصال را برقرار میکنم. میشه این کار را در فرم بگید چطوریه؟

CodeMasterX
سه شنبه 25 اردیبهشت 1386, 23:46 عصر
والا نیما جان اول از همه باید بگم که من این روش رو توصیه نمیکنم که شما بخوای برای تغییر شمای برنامه از یه کنترل ImageList استفاده کنی و هر بار با هر شمایی لیستش رو پاک کنی و مقادیر جدید رو توش بریزی.مگه جند تا حالت داره ؟ برای هرکدومش یه کنترل ImageList جداگانه بذار.

و برای تغییر اتصال کنترل ImageList به یه کنترل (اینجا فرض Listview هست):



Set ListView1.SmallIcons = ImageList1
Set ListView1.Icons = ImageList1
Set ListView1.ColumnHeaderIcons = ImageList1

vb_nima
چهارشنبه 26 اردیبهشت 1386, 10:08 صبح
ببین برنامه حالت My computer را داره . که هر پوشه حاوی یه سری عکس هستش. با انتخاب کاربر لیست ویو پاک میشود و تصاویر جدید از دیتابیس فرا خوانی میشود .حالا برای اینکه این تصاویر جدید در لست ویو نشان داده شود مجبورم از imagelist استفاده کنم(درست دیگه .راه دیگری دارم؟) خوب برای همین مجبورم لیست ویو را که پاک میکنم imagelist را هم پاک کنم. تعداد حالات هم مشخص نیست. 0- بی نهایت ممکنه این عمل انجام بشه.
این سوالاتی که این مدت می پرسم همه برای انجام یه پروژه ی پایان ترم هستش که از سی دی ها و محتویاتش (فقط مشخصات فایلها .اسم و آیکون و سایز) کپی میگیره و در دیتابیس میریزه و بعد شما میتونید مثل my computer داخل این سی دی ها حرکت کنید . دقیقا مثل My computer .سرچ کنید .
با این برنامه شما دیگر احتیاج ندارید برای پیدا کردن یک برنامه داخل سی دی تمام سی دی ها داخل درایو بگذارید و چک کنید. و دیگر هم احتیاج نیست کل 700 مگابایت اطلاعات یک سی دی را روی هارد کپی کنید.
با لطف شما دوستان به خصوص شما آقای CodeMasterX این پروژه تقریبا 70 درصد انجام شده است.
ممنون از شما.

S_VB.max
چهارشنبه 26 اردیبهشت 1386, 12:24 عصر
دوست عزیز نیاز به پاک کردن ImageList نیست فقط باید عکسهای جدید را با عکسهای قدیم جایگزین کنی


Dim img As ListImage
ListView1.ListItems.Clear
ListView1.SmallIcons = Nothing
Set img = ImageList1.ListImages.Add(1, , LoadPicture("c:\new.ico"))

به همین راحتی

CodeMasterX
چهارشنبه 26 اردیبهشت 1386, 20:19 عصر
بازم آقای S_VB.max !!
آقا این روش خوبه و درست.نیما جان اگر از همون اول به این مفصلی توضیح میدادی من هم همین راه رو پیشنهاد میکردم.اگر قرار هست شما به تعداد نامعینی این کار رو انجام بدی،همین کاری که دوستمون گفتن درسته.یعنی نیازی نیست که n تعداد کنترل ImageList داشته باشی.