/// <summary> /// /// </summary> public override void ThreadFunc() { // fill items foreach (FileInfo fi in infos) { if (cancel) { break; } OnStatusUpdate(fi.Name); TagListViewItem lvi = new TagListViewItem(lv, fi.FullName); lvi.Type = type; if (lvi.IntializeItem()) { // add it to listview SafeAdd(lvi); } } SafeResize(); OnFinished(); // HACK!! System.Threading.Thread.Sleep(0); SafeClose(); }
/// <summary> /// /// </summary> /// <param name="lvi"></param> public void SafeAdd(TagListViewItem lvi) { if (InvokeRequired) { this.BeginInvoke( new SafeAddDelegate(SafeAdd), lvi); return; } lv.Items.Add(lvi); }