void PlatformComboBoxSelectedIndexChanged(object sender, EventArgs e)
 {
     if (!inUpdate)
     {
         inUpdate = true;
         if (platformComboBox.SelectedIndex == platformComboBoxEditIndex)
         {
             using (Form dlg = new EditAvailableConfigurationsDialog(solution, true)) {
                 dlg.ShowDialog(this);
             }
             UpdateAvailableSolutionConfigurationPlatforms();
         }
         UpdateGrid();
     }
 }
        void GridEditingControlSelectedIndexChanged(object sender, EventArgs e)
        {
            if (gridEditingControl.SelectedItem == EditTag.Instance)
            {
                DataGridViewComboBoxCell cell = grid.CurrentCell as DataGridViewComboBoxCell;
                if (cell == null)
                {
                    return;
                }
                IProject project = (IProject)cell.OwningRow.Tag;

                inUpdate = true;
                using (Form dlg = new EditAvailableConfigurationsDialog(project,
                                                                        cell.ColumnIndex != configurationColumn.Index))
                {
                    dlg.ShowDialog(this);
                }

                grid.EndEdit();

                inUpdate = true;

                // end edit to allow updating the grid
                grid.EndEdit();

                // we need to change the current cell because otherwise UpdateGrid cannot change the
                // list of combobox items in this cell
                grid.CurrentCell = grid.Rows[cell.RowIndex].Cells[0];

                // remove cell.Value because otherwise the grid view crashes in UpdateGrid
                cell.Value = null;

                UpdateAvailableSolutionConfigurationPlatforms();
                UpdateGrid();
            }
        }
 void PlatformComboBoxSelectedIndexChanged(object sender, EventArgs e)
 {
     if (!inUpdate) {
         inUpdate = true;
         if (platformComboBox.SelectedIndex == platformComboBoxEditIndex) {
             using (Form dlg = new EditAvailableConfigurationsDialog(solution, true)) {
                 dlg.ShowDialog(this);
             }
             UpdateAvailableSolutionConfigurationPlatforms();
         }
         UpdateGrid();
     }
 }
        void GridEditingControlSelectedIndexChanged(object sender, EventArgs e)
        {
            if (gridEditingControl.SelectedItem == EditTag.Instance) {
                DataGridViewComboBoxCell cell = grid.CurrentCell as DataGridViewComboBoxCell;
                if (cell == null) return;
                IProject project = (IProject)cell.OwningRow.Tag;

                inUpdate = true;
                using (Form dlg = new EditAvailableConfigurationsDialog(project,
                                                                        cell.ColumnIndex != configurationColumn.Index))
                {
                    dlg.ShowDialog(this);
                }

                grid.EndEdit();

                inUpdate = true;

                // end edit to allow updating the grid
                grid.EndEdit();

                // we need to change the current cell because otherwise UpdateGrid cannot change the
                // list of combobox items in this cell
                grid.CurrentCell = grid.Rows[cell.RowIndex].Cells[0];

                // remove cell.Value because otherwise the grid view crashes in UpdateGrid
                cell.Value = null;

                UpdateAvailableSolutionConfigurationPlatforms();
                UpdateGrid();
            }
        }