public void DeleteSelectedFiles(Boolean isRecycling) {
var handle = this.Handle;
var view = this;
var thread = new Thread(() => {
var sink = new FOperationProgressSink(view);
var fo = new IIFileOperation(sink, handle, isRecycling);
foreach (var item in this.SelectedItems) {
fo.DeleteItem(item);
this.BeginInvoke(new MethodInvoker(() => {
this._IIListView.SetItemState(item.ItemIndex, LVIF.LVIF_STATE, LVIS.LVIS_SELECTED, 0);
}));
}
fo.PerformOperations();
if (isRecycling) {
this.RaiseRecycleBinUpdated();
}
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}