private void PerformRefreshDistroList(bool triggeredByUser) { var items = SharedRoutines.LoadDistroList().ToArray(); DistroListView.Items.Clear(); foreach (var eachItem in items) { var lvItem = new ListViewItem( eachItem.Properties.Select(x => x.Value).ToArray(), eachItem.ImageKey) { Tag = eachItem, }; DistroListView.Items.Add(lvItem); } TotalCountLabel.Text = $"{items.Length} item{(items.Length > 1 ? "s" : "")}"; if (DistroListView.Items.Count < 1) { DistroListView.Visible = false; emptyLabel.Visible = true; } else { DistroListView.Visible = true; emptyLabel.Visible = false; } if (!ShimGenerator.IsBusy) { ShimGenerator.RunWorkerAsync(new BackgroundWorkerArgument <DistroProperties[]>(triggeredByUser, items)); } if (!ShortcutGenerator.IsBusy) { ShortcutGenerator.RunWorkerAsync(new BackgroundWorkerArgument <DistroProperties[]>(triggeredByUser, items)); } }