کار با ترد برای لود تعداد زیادی تصویر داخل لیست ویو
سلام
یک لیست ویو دارم که تصویر هر ایتمش رو از یک imagelist دریافت میکنه
ممکنه تعداد تصاویر داخل imagelist هزاران عدد باشه بنابر این اومدم ایمیج لیت رو داخل یک ترد مجزا ساختم و بعد از پایان ساخته شدن ان را منتسب کردم به listview
مشکلم اینه که وقتی imaglist i رو به listview متصل میکنم
تصاویر نمایش داده نمیشوند در حالی که در imagelist ساخته شده در ترد مجزا کلی تصویر وجود داره
اینم کدش:
privatevoid backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
System.Diagnostics.Stopwatch ss = newStopwatch();
ss.Start();
List<string> lst = (List<string>)e.Argument;
ImageList imgs = mng.GetImages(lst);
lst.Clear();
MessageBox.Show(ss.Elapsed.TotalSeconds.ToString());
backgroundWorker1.ReportProgress(100, imgs);
}
privatevoid backgroundWorker1_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
ImageList imgs = (ImageList)e.UserState;
imageList1.Images.Clear();
imageList1=newImageList();
imageList1 = imgs;
glacialList1.LargeImageList = imageList1;
glacialList1.SmallImageList = imageList1;
glacialList1.Invalidate();
glacialList1.Update();
glacialList1.Refresh();
}
1 ضمیمه
نقل قول: کار با ترد برای لود تعداد زیادی تصویر داخل لیست ویو
باید به لیستت آیتم اضافه کنی و imageindex رو برای هر آیتم ست کنی تا عکس هارو نشون بده ...
نقل قول: کار با ترد برای لود تعداد زیادی تصویر داخل لیست ویو
خب من دقیقا این روش استفاده کردم
اما مشکل اینه که تا وقتی کل تصاویر لود نشده نمیتوان با اسکرول بین ایتم ها حرکت کرد چراکه بلافاصله بعد از اسکرول ایتم اول می اید و نمیزاره ایتم های زیرین را دید
و دیگه اینکه وقتی تصاویر داره لود میشه کاربر با برنامه میتونه کار کنه به محض پایان لود تصاویر برنامه هم قفل میکنه البته این در حالتی هست که تعداد تصاویر به 1500 برسه
نقل قول: کار با ترد برای لود تعداد زیادی تصویر داخل لیست ویو
نقل قول:
نوشته شده توسط
saed2006
خب من دقیقا این روش استفاده کردم
اما مشکل اینه که تا وقتی کل تصاویر لود نشده نمیتوان با اسکرول بین ایتم ها حرکت کرد چراکه بلافاصله بعد از اسکرول ایتم اول می اید و نمیزاره ایتم های زیرین را دید
و دیگه اینکه وقتی تصاویر داره لود میشه کاربر با برنامه میتونه کار کنه به محض پایان لود تصاویر برنامه هم قفل میکنه البته این در حالتی هست که تعداد تصاویر به 1500 برسه
فکرکنم شما به دنبال backgroundWorker باشید،عالیست.
توو همین فروم پره.
نقل قول: کار با ترد برای لود تعداد زیادی تصویر داخل لیست ویو
نقل قول:
نوشته شده توسط
saed2006
خب من دقیقا این روش استفاده کردم
اما مشکل اینه که تا وقتی کل تصاویر لود نشده نمیتوان با اسکرول بین ایتم ها حرکت کرد چراکه بلافاصله بعد از اسکرول ایتم اول می اید و نمیزاره ایتم های زیرین را دید
و دیگه اینکه وقتی تصاویر داره لود میشه کاربر با برنامه میتونه کار کنه به محض پایان لود تصاویر برنامه هم قفل میکنه البته این در حالتی هست که تعداد تصاویر به 1500 برسه
نحوه استفادت از backgrounworker و نحوه لود عکس هات درست نیست ... نمومه برنامه گزاشتم .. اونو ببین مشکلت حل میشه .. همین الان 2000 تا عکی لود کردم اون هر کدوم 1920*1080 ... آخ هم نگفت ... اسکرول هم میشه ...