Click here to Skip to main content
15,881,588 members
Home / Discussions / C#
   

C#

 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre4-Nov-17 7:39
professionalSascha Lefèvre4-Nov-17 7:39 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin14-Nov-17 7:41
alin14-Nov-17 7:41 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre4-Nov-17 7:55
professionalSascha Lefèvre4-Nov-17 7:55 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin14-Nov-17 8:23
alin14-Nov-17 8:23 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre4-Nov-17 8:29
professionalSascha Lefèvre4-Nov-17 8:29 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin15-Nov-17 2:41
alin15-Nov-17 2:41 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre5-Nov-17 2:53
professionalSascha Lefèvre5-Nov-17 2:53 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin15-Nov-17 3:09
alin15-Nov-17 3:09 
Thanks. Unfortunately sometimes I get this error after I drag and drop some files:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at test1.MainForm.BackgroundWorker1ProgressChanged(Object sender, ProgressChangedEventArgs e)
   at System.ComponentModel.BackgroundWorker.OnProgressChanged(ProgressChangedEventArgs e)
   at System.ComponentModel.BackgroundWorker.ProgressReporter(Object arg)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at test1.Program.Main(String[] args)


Any idea how to fix this bug? I think it's related to those Bitmap lists.
By the way, this is the current code:

void BackgroundWorker1DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
    List<Bitmap> thumbnailList = new List<Bitmap>();

    for (var i = 0; i < fileList.Count; i++)
    {
        Bitmap thumbnail = MakeThumbnail(fileList[i], thumbnailSize, thumbnailSize);
        thumbnailList.Add(thumbnail);

        if (((thumbnailList.Count == batchSize) && (batchSize < fileList.Count)) ||
            (i == (fileList.Count - 1)))
        {
            backgroundWorker1.ReportProgress(i, thumbnailList);
            thumbnailList = new List<Bitmap>();
        }
    }
}

void BackgroundWorker1ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
{
    List<Bitmap> thumbnailList = (List<Bitmap>)e.UserState;
    listView1.BeginUpdate();

    if (thumbnailList.Count > 0)
    {
        foreach (Bitmap thumbnail in thumbnailList)
        {
            imageList1.Images.Add(thumbnail);
            ListViewItem caption = new ListViewItem(Path.GetFileName(fileList[counter]));
            caption.ImageIndex = counter;
            listView1.Items.Add(caption);
            counter++;
        }
    }

    listView1.EndUpdate();
}

GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre5-Nov-17 3:43
professionalSascha Lefèvre5-Nov-17 3:43 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin15-Nov-17 4:58
alin15-Nov-17 4:58 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin15-Nov-17 13:22
alin15-Nov-17 13:22 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre5-Nov-17 20:52
professionalSascha Lefèvre5-Nov-17 20:52 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
alin16-Nov-17 2:56
alin16-Nov-17 2:56 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Sascha Lefèvre6-Nov-17 3:00
professionalSascha Lefèvre6-Nov-17 3:00 
GeneralRe: How to make the ListView to display each thumbnail immediately after it's loaded? Pin
Gerry Schmitz4-Nov-17 7:39
mveGerry Schmitz4-Nov-17 7:39 
QuestionRun List Of Tasks Sequentially and Process Them As The Complete Pin
Kevin Marois1-Nov-17 8:47
professionalKevin Marois1-Nov-17 8:47 
AnswerRe: Run List Of Tasks Sequentially and Process Them As The Complete Pin
ZurdoDev1-Nov-17 9:37
professionalZurdoDev1-Nov-17 9:37 
AnswerRe: Run List Of Tasks Sequentially and Process Them As The Complete Pin
Sascha Lefèvre1-Nov-17 10:31
professionalSascha Lefèvre1-Nov-17 10:31 
AnswerRe: Run List Of Tasks Sequentially and Process Them As The Complete Pin
BillWoodruff2-Nov-17 17:56
professionalBillWoodruff2-Nov-17 17:56 
AnswerRe: Run List Of Tasks Sequentially and Process Them As The Complete Pin
MadMyche14-Nov-17 8:35
professionalMadMyche14-Nov-17 8:35 
QuestionC#+WebBrowser+JavaScript - full download Pin
kama_kama31-Oct-17 12:03
kama_kama31-Oct-17 12:03 
QuestionRe: C#+WebBrowser+JavaScript - full download Pin
Karthik_Mahalingam31-Oct-17 17:00
professionalKarthik_Mahalingam31-Oct-17 17:00 
AnswerRe: C#+WebBrowser+JavaScript - full download Pin
kama_kama31-Oct-17 20:08
kama_kama31-Oct-17 20:08 
QuestionWhat's The Best Way To Do This? Pin
Kevin Marois31-Oct-17 7:04
professionalKevin Marois31-Oct-17 7:04 
AnswerRe: What's The Best Way To Do This? Pin
Gerry Schmitz31-Oct-17 12:08
mveGerry Schmitz31-Oct-17 12:08 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.