void Registrar_Usuario()
        {
            DateTime hoy = DateTime.Today;

            if (txtNombres.Text.Trim() == "" ||
                txtApellidos.Text.Trim() == "" ||
                maskDui.Text.Trim() == "" && txtCarne.Text.Trim() == "" ||
                txtUsuario.Text.Trim() == "" ||
                txtEmail.Text == "" ||
                txtClave.Text.Trim() == "" ||
                txtConfClave.Text.Trim() == "")
            {
                MessageBox.Show("Algunos campos están vacíos.", "Datos faltantes", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (pbFoto.Image == null)
            {
                MessageBox.Show("Ha faltado cargar una foto al perfil del nuevo usuario", "Foto faltante", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (txtClave.Text != txtConfClave.Text)
            {
                MessageBox.Show("Las claves no coinciden, vuelva a ingresarlas", "Claves no coinciden", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                txtClave.Clear();
                txtConfClave.Clear();
            }
            else if (Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta2.SelectedValue) ||
                     Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta3.SelectedValue) ||
                     Convert.ToInt16(cmbPregunta1.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue) ||
                     Convert.ToInt16(cmbPregunta2.SelectedValue) == Convert.ToInt16(cmbPregunta3.SelectedValue) ||
                     Convert.ToInt16(cmbPregunta2.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue) ||
                     Convert.ToInt16(cmbPregunta3.SelectedValue) == Convert.ToInt16(cmbPregunta4.SelectedValue))
            {
                MessageBox.Show("Verique que ha seleccionado y respondido a preguntas diferentes, no esta permitido responder dos veces a la misma pregunta.", "Verificación de pregunta", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else if (dtNacimiento.Value.Date >= hoy)
            {
                MessageBox.Show("Verifique la fecha seleccionada, ya que es igual o pertenece a una fecha futura", "Error en fecha de nacimiento", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                Constructor_Usuario user = new Constructor_Usuario();
                user.usuario   = txtUsuario.Text;
                user.clave     = Validaciones.md5(txtConfClave.Text);
                user.nombres   = txtNombres.Text;
                user.apellidos = txtApellidos.Text;
                if (radCarne.Checked == true)
                {
                    user.documento = txtCarne.Text;
                }
                else if (radDui.Checked == true)
                {
                    user.documento = maskDui.Text;
                }
                user.nacimiento      = dtNacimiento.Text;
                user.email           = txtEmail.Text;
                user.intentos        = 0;
                user.id_empresa      = Convert.ToInt16(cmbEmpresa.SelectedValue);
                user.id_estado       = Convert.ToInt16(cmbEstado.SelectedValue);
                user.id_tipo_usuario = Convert.ToInt16(cmbTipoUsuario.SelectedValue);
                MemoryStream ms = new MemoryStream();
                pbFoto.Image.Save(ms, ImageFormat.Jpeg);
                byte[] aByte   = ms.ToArray();
                string encoded = Convert.ToBase64String(aByte);
                user.imagen = encoded;
                int datos = ControlUsuarios_Modelo.Ingresar_Usuario(user);
                if (datos >= 1)
                {
                    ControlUsuarios_Modelo.Buscar_usuario(txtUsuario.Text);
                    txtId.Text = Constructor_Usuario.id_usuario.ToString();
                    Constructor_Respuestas res = new Constructor_Respuestas();
                    for (int i = 0; i < 4; i++)
                    {
                        switch (i)
                        {
                        case 0:
                            res.respuesta   = Validaciones.md5(txtRespuesta1.Text);
                            res.id_pregunta = Convert.ToInt16(cmbPregunta1.SelectedValue);
                            int res1 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text));
                            break;

                        case 1:
                            res.respuesta   = Validaciones.md5(txtRespuesta2.Text);
                            res.id_pregunta = Convert.ToInt16(cmbPregunta2.SelectedValue);
                            int res2 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text));
                            break;

                        case 2:
                            res.respuesta   = Validaciones.md5(txtRespuesta3.Text);
                            res.id_pregunta = Convert.ToInt16(cmbPregunta3.SelectedValue);
                            int res3 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text));
                            break;

                        case 3:
                            res.respuesta   = Validaciones.md5(txtRespuesta4.Text);
                            res.id_pregunta = Convert.ToInt16(cmbPregunta4.SelectedValue);
                            int res4 = ControlUsuarios_Modelo.Ingresar_Respuesta(res, Convert.ToInt16(txtId.Text));
                            break;

                        default:
                            break;
                        }
                    }
                    MessageBox.Show("Hemos finalizado con la configuración inicial, en este momento te mostrare el Inicio de Sesión para que escribas las credenciales del usuario que acabas de crear.", "Proceso finalizado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    FrmLogin log = new FrmLogin();
                    log.Show();
                    this.Close();
                }
            }
        }