private void btnFinalizar_Click(object sender, EventArgs e)
        {
            Controles.frmGauge gauge = new Controles.frmGauge();
            gauge.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            gauge.pb.Minimum    = 0;
            gauge.pb.Maximum    = imagenesCapturadas.Images.Count - 1;
            gauge.pb.Value      = 0;
            gauge.Show();

            //Grabar y Cerrar el Formulario
            Cursor = Cursors.AppStarting;

            foreach (IScannedImage img in imagenesCapturadas.Images)
            {
                clsDocumento newDocumento = new clsDocumento("*");
                newDocumento.idPadre           = Convert.ToInt32(((Clases.clsNodoTiny)nodoActual.Tag).idNodo);
                newDocumento.idUnicoExpediente = Expediente.id;
                newDocumento.orden             = 0;

                newDocumento.fijarImagen(img.GetImageBase64());

                try
                {
                    newDocumento.guardarDatos(Clases.vGlobales.id_User);
                }
                catch (InvalidOperationException er)
                {
                    MessageBox.Show("Problemas al guardar Datos\n\r" + er.Message);
                    Cursor = Cursors.Default;
                    return;
                }

                try
                {
                    newDocumento.guardarImagen(Clases.vGlobales.id_User);
                }
                catch (InvalidOperationException er)
                {
                    MessageBox.Show("Problemas al guardar la Imagen\n\r" + er.Message);
                    Cursor = Cursors.Default;
                    return;
                }

                gauge.pb.PerformStep();
                gauge.BringToFront();
                System.Windows.Forms.Application.DoEvents();
            }

            gauge.Close();
            gauge.Dispose();

            Cursor  = Cursors.Default;
            bsalida = true;
        }
        private void btnFinalizar_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.AppStarting;

            //Mandar Grabar los elementos en la Base de Datos

            //Grabar los Datos de los Expediente
            Clases.clsExpediente newExpediente = new Clases.clsExpediente("*");
            newExpediente.idLlave      = iTXTidUnico.Text.ToString().Trim();
            newExpediente.idPadre      = nodoBD.id;
            newExpediente.idFormulario = nodoBD.idFormulario.ToString();

            try
            {
                newExpediente.guardarDatos(Clases.vGlobales.id_User);
            }
            catch (InvalidOperationException er)
            {
                MessageBox.Show("Problemas al guardar Datos\n\r" + er.Message);
                Cursor = Cursors.Default;
                return;
            }

            //Grabar los Campos del Expediente
            foreach (PropertyGridEx.CustomProperty p in PGExpediente.Item)
            {
                if (p.Value.ToString().Trim().Length != 0)
                {
                    Clases.clsCampoDato campo = new Clases.clsCampoDato(Clases.clsCampoDato.TipoCampo.Expediente, newExpediente.id.ToString(), p.Tag.ToString());
                    campo.valor = p.Value.ToString();
                    if (!campo.guardarDatos(Clases.vGlobales.id_User))
                    {
                        MessageBox.Show(campo.msgError, "Error al Guardar datos del Campo " + p.Tag);
                    }
                }
            }



            //Grabar las imagenes en la Base de Datos
            //Por los Tipos de Documentos
            //Recorrer El arbol con los Tipos de Documentos.
            foreach (TreeNode nDocumento in tvTiposDocumentos.Nodes)
            {
                // Control de Avance de grabación
                Controles.frmGauge gauge = new Controles.frmGauge();
                gauge.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
                gauge.pb.Minimum    = 0;
                gauge.pb.Maximum    = imagenesCapturadas[nDocumento.Index].Images.Count - 1;
                gauge.pb.Value      = 0;
                gauge.Show();

                foreach (IScannedImage img in imagenesCapturadas[nDocumento.Index].Images)
                {
                    clsDocumento newDocumento = new clsDocumento("*");
                    newDocumento.idPadre           = Convert.ToInt16(nDocumento.Tag.ToString());
                    newDocumento.idUnicoExpediente = newExpediente.id;
                    newDocumento.orden             = imagenesCapturadas[nDocumento.Index].Images.IndexOf(img) + 1;

                    newDocumento.fijarImagen(img.GetImageBase64());

                    try
                    {
                        newDocumento.guardarDatos(Clases.vGlobales.id_User);
                    }
                    catch (InvalidOperationException er)
                    {
                        MessageBox.Show("Problemas al guardar Datos\n\r" + er.Message);
                        Cursor = Cursors.Default;
                        return;
                    }

                    try
                    {
                        newDocumento.guardarImagen(Clases.vGlobales.id_User);
                    }
                    catch (InvalidOperationException er)
                    {
                        MessageBox.Show("Problemas al guardar la Imagen\n\r" + er.Message);
                        Cursor = Cursors.Default;
                        return;
                    }

                    gauge.pb.PerformStep();
                    gauge.BringToFront();
                    System.Windows.Forms.Application.DoEvents();
                }

                gauge.Close();
                gauge.Dispose();
            }

            Cursor  = Cursors.Default;
            bsalida = true;
        }