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

Evento Print de la clase PrintDocument

Estas en el tema de Evento Print de la clase PrintDocument en el foro de .NET en Foros del Web. Hola a tod@s!. Antes de nada presentarme, mi nombre es Nico. El motivo de crear este tema es porque me ha surgido un problema al ...
  #1 (permalink)  
Antiguo 09/12/2007, 12:06
 
Fecha de Ingreso: diciembre-2007
Mensajes: 1
Antigüedad: 16 años, 4 meses
Puntos: 0
Información Evento Print de la clase PrintDocument

Hola a tod@s!.

Antes de nada presentarme, mi nombre es Nico. El motivo de crear este tema es porque me ha surgido un problema al intentar imprimir los datos de un formulario por la impresora. Me explico: quiero imprimir los datos que hay en un campo de texto cuando el usuario pulse un botón. El código es:

protected void im_imprimir_Click(object sender, ImageClickEventArgs e)
{

PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(Imprimir);

string texto = ct_datos.Text;
char[] seps = { '\n', '\r' }; // LF y CR
linea = texto.Split(seps);

totalLineasImpresas = 0;
pd.Print(); // ¡¡ bloqueo !!
}

private void Imprimir(object sender, PrintPageEventArgs e)
{
// Método que se encarga de la impresión.

float margenIzq = e.MarginBounds.Left / 2;
float margenSup = e.MarginBounds.Top / 2;
Font fuente = new Font("Times New Roman", 14);

// Impresión de cada una de las líneas

while (totalLineasImpresas < linea.Length)
{
e.Graphics.DrawString(linea[totalLineasImpresas], fuente, Brushes.Black, margenIzq, margenSup, new StringFormat());
totalLineasImpresas += 1;
}
}


El problema me surge cuando meto la URL de la página en el explorador porque el código se queda bloquedo en la sentencia "pd.Print()". Sin embargo si ejecuto el código en modo de depuración todo funciona perfectamente y no sé por qué. Agradecería que si alguien sabe la razón me la dijese. Gracias de antemano. Saludos.
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 12:04.