private void parametersGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) { int rowIndex = e.RowIndex, columnIndex = e.ColumnIndex; if (rowIndex >= 0 && columnIndex >= 0) { var row = parametersGridView.Rows[rowIndex]; ServiceParameter parameter = row.Tag as ServiceParameter; if (parameter is ServiceParameterNumber) { using (var f = new EditServiceParameterNumberForm(null, parameter.Id)) { f.Saved += (s, eventArgs) => { RenderParametersGridViewRow(row, f.ServiceParameterNumber); f.Close(); }; f.ShowDialog(); } } else if (parameter is ServiceParameterText) { using (var f = new EditServiceParameterTextForm(null, parameter.Id)) { f.Saved += (s, eventArgs) => { RenderParametersGridViewRow(row, f.ServiceParameterText); f.Close(); }; f.ShowDialog(); } } else if (parameter is ServiceParameterOptions) { using (var f = new EditServiceParameterOptionsForm(null, parameter.Id)) { f.Saved += (s, eventArgs) => { RenderParametersGridViewRow(row, f.ServiceParameterOptions); f.Close(); }; f.ShowDialog(); } } } }
private void addButton_Click(object sender, EventArgs e) { DataGridViewRow row = null; switch (parameterTypeControl.Selected<ServiceParameterType>()) { case ServiceParameterType.Number: using (var f = new EditServiceParameterNumberForm(service.Id)) { f.Saved += (s, eventArgs) => { if (row == null) { row = parametersGridView.Rows[parametersGridView.Rows.Add()]; } RenderParametersGridViewRow(row, f.ServiceParameterNumber); f.Close(); }; f.ShowDialog(); } break; case ServiceParameterType.Text: using (var f = new EditServiceParameterTextForm(service.Id)) { f.Saved += (s, eventArgs) => { if (row == null) { row = parametersGridView.Rows[parametersGridView.Rows.Add()]; } RenderParametersGridViewRow(row, f.ServiceParameterText); f.Close(); }; f.ShowDialog(); } break; case ServiceParameterType.Options: using (var f = new EditServiceParameterOptionsForm(service.Id)) { f.Saved += (s, eventArgs) => { if (row == null) { row = parametersGridView.Rows[parametersGridView.Rows.Add()]; } RenderParametersGridViewRow(row, f.ServiceParameterOptions); f.Close(); }; f.ShowDialog(); } break; } }