private void m_appTypeCombo_SelectedIndexChanged(object sender, EventArgs e) { //this only happens when we detect admin required and revert the change if (m_appTypeCombo.SelectedIndex == m_launcherIndex) { return; } //not sure this CAN happen if (m_appTypeCombo.SelectedItem == null) { m_launcher = null; m_launchPropGrid.SelectedObject = null; return; } Type launcherType = (m_appTypeCombo.SelectedItem as TypeEntry).Type; ILauncher launcher = (ILauncher)Activator.CreateInstance(launcherType); //Don't allow the user to select a launcher that will just fail due to admin privileges required if (launcher.RequiresAdmin && !LauncherCommon.UserIsAdmin()) { MessageBox.Show("You must run SlimTune as an administrator to profile the selected application type."); m_appTypeCombo.SelectedIndex = m_launcherIndex; return; } m_launcher = launcher; m_launchPropGrid.SelectedObject = m_launcher; m_launcherIndex = m_appTypeCombo.SelectedIndex; }