Foros del Web » Programación para mayores de 30 ;) » .NET »

detectar si hay impresora instalada

Estas en el tema de detectar si hay impresora instalada en el foro de .NET en Foros del Web. hola gente, tengo una aplicacion que genera una boleta cuando se realiza una venta. El problema que tengo es que en este momento no tengo ...
  #1 (permalink)  
Antiguo 02/07/2009, 09:33
 
Fecha de Ingreso: abril-2009
Mensajes: 43
Antigüedad: 15 años
Puntos: 1
detectar si hay impresora instalada

hola gente, tengo una aplicacion que genera una boleta cuando se realiza una venta.
El problema que tengo es que en este momento no tengo una impresora instalada y lo que necesitaria es poder ejecutar el resto del codigo sin la necesidad de tener una instalada.
lo que necesitaria es saber como preguntar si existe una impresora instalada.

el codigo:

Código:
   //Se crea el remito para la venta
            //se recorre la lista de items de la venta y se las guarda en el remito
            foreach(ItemVenta itemv in venta.Items){
                ItemRemito iR = new ItemRemito();
                iR.Cantidad = itemv.Cantidad;
                iR.Precio = itemv.Precio;
                iR.Producto = itemv.Producto;
                iR.Precio = itemv.Precio;
                iR.CodigoArt = itemv.CodigoArt;
                itemv.Total = itemv.Total;
                venta.Remito.Items.Add(iR);
            }
            venta.Remito.Cliente = venta.Cliente;
            venta.Remito.Fecha = venta.Fecha;
            venta.Factura.Cliente = venta.Cliente;
            venta.Factura.Fecha = venta.Fecha;
            venta.calcularTotal();
            venta.Factura.Total = venta.Total;

            //Se Persiste la venta en la bsse
            IRepositorioVenta rVenta = new RepositorioVenta();
            rVenta.Agregar(venta);

            //Se persiste el registro de cuenta corriente
            IRepositorioCuenta rCuenta = new RepositorioCuenta();
            Cuenta cuenta = new Cuenta();
            cuenta.Cliente = venta.Cliente;
            cuenta.Fecha = venta.Fecha;
            cuenta.Debe = venta.Factura.Total;
            cuenta.Factura = venta.Factura;
            cuenta.Saldo = rCuenta.ObtenerSaldoCli(venta.Cliente.Id);
            cuenta.Saldo = cuenta.Saldo - cuenta.Debe;
            rCuenta.Agregar(cuenta);

            //Se imprimen los datos
            PrintDialog1 = new PrintDialog();
            System.Drawing.Printing.PrintDocument docToPrint = new System.Drawing.Printing.PrintDocument();
            PrintDialog1.AllowSomePages = true;
            PrintDialog1.ShowHelp = true;
            docToPrint.PrintPage += new PrintPageEventHandler(this.PrintPage);
            PrintDialog1.Document = docToPrint;

            //Se configura y muestra el preview
            printPreviewDialog1.Document = PrintDialog1.Document;
            printPreviewDialog1.ShowDialog();//aca me tira error "No hay impresoras instaldas
            
            //Vaciar todo llamando al Form Load

            frmVenta_Load(this, e);
  #2 (permalink)  
Antiguo 02/07/2009, 10:07
 
Fecha de Ingreso: abril-2009
Mensajes: 43
Antigüedad: 15 años
Puntos: 1
Respuesta: detectar si hay impresora instalada

hola, encontre una solucion

if (PrinterSettings.InstalledPrinters == null)
{
printPreviewDialog1.ShowDialog();
}


el tema es que tengo predeterminadas 2 impresoras asi que al if no entra, el programa sigue funcionando.
pongo !=null y muere y me dice que no estan instaladas.
como hago para que detecte si estan disponibles o algo similar ??
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:19.