private void DataGridViewHabilidad_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == DataGridViewHabilidad.NewRowIndex || e.RowIndex < 0)
            {
                return;
            }

            if (e.ColumnIndex == DataGridViewHabilidad.Columns["btEliminar"].Index)
            {
                short        id                = (short)DataGridViewHabilidad.Rows[e.RowIndex].Cells["id"].Value;
                string       nombre            = (string)DataGridViewHabilidad.Rows[e.RowIndex].Cells["nombre"].Value;
                DialogResult preguntaResultado = MessageBox.Show("Está a punto de eliminar la habilidad " + nombre + ". ¿Está seguro?", "Atención", MessageBoxButtons.YesNo);

                if (preguntaResultado == DialogResult.Yes && id > 0)
                {
                    if (habilidad.EliminarPorId(id))
                    {
                        MessageBox.Show("La habilidad " + nombre + " fue eliminada correctamente", "Éxito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        Refrescar();
                    }
                    else
                    {
                        MessageBox.Show("Hubo un error al eliminar la habilidad " + nombre + ".", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            if (e.ColumnIndex == DataGridViewHabilidad.Columns["btEditar"].Index)
            {
                short id = (short)DataGridViewHabilidad.Rows[e.RowIndex].Cells["id"].Value;

                if (id > 0)
                {
                    FormularioHabilidad formulario = new FormularioHabilidad(habilidad.ObtenerPorId(id), this);

                    formulario.Show();
                }
            }
        }
        public override void BtNuevo_Click(object sender, EventArgs e)
        {
            FormularioHabilidad formulario = new FormularioHabilidad(null, this);

            formulario.Show();
        }