private async void executeEliminar() { // Verificando la existencia de datos en el datagridview if (dataGridView.Rows.Count == 0) { MessageBox.Show("No hay un registro seleccionado", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } // Pregunta de seguridad de eliminacion DialogResult dialog = MessageBox.Show("¿Está seguro de eliminar este registro?", "Eliminar", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (dialog == DialogResult.No) { return; } try { int index = dataGridView.CurrentRow.Index; // Identificando la fila actual del datagridview currentCategoria = new Categoria(); //creando una instancia del objeto categoria currentCategoria.idCategoria = Convert.ToInt32(dataGridView.Rows[index].Cells[0].Value); // obteniedo el idCategoria del datagridview loadState(true); // cambiando el estado Response response = await categoriaModel.eliminar(currentCategoria); // Eliminando con el webservice correspondiente MessageBox.Show(response.msj, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information); cargarRegistros(); // recargando el datagridview } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message, "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Warning); } finally { loadState(false); // cambiando el estado } }