BOTAO IMPRIMIR NAO FUNCIONA
Bom dia Pessoal
Estou iniciando agora em programação e estou com dificuldades no meu programa com o botão imprimir. No meu código não dá erro nenhum, mas quando eu executo ele dá erro na linha While.
Alguém pode me ajudar por favor???????
private void Imprimir_Click(object sender, EventArgs e)
{
string[] textoparaImpressão = new string[251];
for (int i = 0; i < 251; i++)
{
textoparaImpressão[i] = i.ToString();
textoparaImpressão[i] += [Ô]@D:/VIVIANE[Ô];
}
PrintDocument doc = new ImprimirDocumento(textoparaImpressão);
doc.PrintPage += this.Doc_PrintPage;
PrintDialog dialogo = new PrintDialog();
dialogo.Document = doc;
if (dialogo.ShowDialog() == DialogResult.OK)
{
if (VisualizarImpressao.Checked)
{
PrintPreviewDialog ppdlg = new PrintPreviewDialog();
ppdlg.Document = doc;
ppdlg.ShowDialog();
}
else
{
doc.Print();
}
}
}
private void Doc_PrintPage(object sender, PrintPageEventArgs e)
{
ImprimirDocumento doc = (ImprimirDocumento)sender;
using (Font fonte = new Font([Ô]Arial[Ô], 15))
{
float alturaLinha = fonte.GetHeight(e.Graphics);
float x = e.MarginBounds.Left;
float y = e.MarginBounds.Top;
doc.NumeroPagina += 1;
[txt-color=#e80000]while ((y + alturaLinha) < e.MarginBounds.Bottom && doc.Offset <= doc.Texto.GetUpperBound(0))[/txt-color]
{
e.Graphics.DrawString(doc.Texto[doc.Offset], fonte, Brushes.Black, x, y);
doc.Offset += 1;
y += alturaLinha;
}
if (doc.Offset < doc.Texto.GetUpperBound(0))
{
e.HasMorePages = true;
}
else
{
doc.Offset = 0;
}
Estou iniciando agora em programação e estou com dificuldades no meu programa com o botão imprimir. No meu código não dá erro nenhum, mas quando eu executo ele dá erro na linha While.
Alguém pode me ajudar por favor???????
private void Imprimir_Click(object sender, EventArgs e)
{
string[] textoparaImpressão = new string[251];
for (int i = 0; i < 251; i++)
{
textoparaImpressão[i] = i.ToString();
textoparaImpressão[i] += [Ô]@D:/VIVIANE[Ô];
}
PrintDocument doc = new ImprimirDocumento(textoparaImpressão);
doc.PrintPage += this.Doc_PrintPage;
PrintDialog dialogo = new PrintDialog();
dialogo.Document = doc;
if (dialogo.ShowDialog() == DialogResult.OK)
{
if (VisualizarImpressao.Checked)
{
PrintPreviewDialog ppdlg = new PrintPreviewDialog();
ppdlg.Document = doc;
ppdlg.ShowDialog();
}
else
{
doc.Print();
}
}
}
private void Doc_PrintPage(object sender, PrintPageEventArgs e)
{
ImprimirDocumento doc = (ImprimirDocumento)sender;
using (Font fonte = new Font([Ô]Arial[Ô], 15))
{
float alturaLinha = fonte.GetHeight(e.Graphics);
float x = e.MarginBounds.Left;
float y = e.MarginBounds.Top;
doc.NumeroPagina += 1;
[txt-color=#e80000]while ((y + alturaLinha) < e.MarginBounds.Bottom && doc.Offset <= doc.Texto.GetUpperBound(0))[/txt-color]
{
e.Graphics.DrawString(doc.Texto[doc.Offset], fonte, Brushes.Black, x, y);
doc.Offset += 1;
y += alturaLinha;
}
if (doc.Offset < doc.Texto.GetUpperBound(0))
{
e.HasMorePages = true;
}
else
{
doc.Offset = 0;
}
Ficou muito vago para darmos uma resposta, precisamos do projeto para acompanhar passo a passo a execução.
Coloque um breakpoint no inicio dessa função e verifique se todas as variáveis estão com valores corretos e nos mande o StackTrace da Exception ou alguma outra mensagem que indique o que está ocorrendo.
Coloque um breakpoint no inicio dessa função e verifique se todas as variáveis estão com valores corretos e nos mande o StackTrace da Exception ou alguma outra mensagem que indique o que está ocorrendo.
Muito obrigado pela ajuda, já consegui resolver.
Valeu.............
Valeu.............
Tópico encerrado , respostas não são mais permitidas