private void InitializeSettingsAndUI() { StartLoading(); var imgSize = objectListView.RowHeight - 5; ImageList.ImageSize = new Size(imgSize, imgSize); objectListView.SmallImageList = ImageList; olvColumnImage.ImageGetter = row => ((Item)row).ImageId; objectListView.ItemActivate += (s, e) => { var item = (Item)objectListView.GetModelObject(objectListView.SelectedIndex); RunProgram(item); }; var backgroundThread = new Thread(() => { // Get settings + Set hotkey settings = XmlManager.GetSettings(); MethodInvoker settingsDelegate = () => { HotKeyManager.InitializeHotKey(Handle, settings.shortcutModifier, settings.shortcutKey); if (!settings.stayMinimized) { ShowForm(null, null); } }; Invoke(settingsDelegate); // Get categories + Set image list categories = XmlManager.GetCategories(); MethodInvoker categoriesDelegate = () => BuildImageList(); Invoke(categoriesDelegate); BuildUI(); }); backgroundThread.Start(); }