Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

obamaself

[Resolvido] PrintDocument

Mensagens Recomendadas

obamaself

Boas, criei uma função para imprimir todos os objectos do meu formulário, só que tenho um problema.

No formulário, tenho uma imagem com várias textbox em cima.

Ao imprimir, a imagem fica por cima das textbox. Há alguma maneira de meter a imagem por baixo?

  For Each objecto As Control In Me.Controls
			 If TypeOf objecto Is PictureBox Then

				Dim pic As PictureBox = objecto
				e.Graphics.DrawImage(pic.Image, objecto.Location.X + 60, objecto.Location.Y + 140)

			End If

			If TypeOf objecto Is TextBox Then
				e.Graphics.DrawString(objecto.Text, objecto.Font, Brushes.Black, objecto.Location.X + 2 + 60, objecto.Location.Y + 140)
				e.Graphics.DrawRectangle(Pens.Black, objecto.Location.X + 60, objecto.Location.Y + 140, objecto.Width, objecto.Height)
			End If
  Next

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
nelsonr

Boas,

acho que por default a ordem dos controlos dentro do Me.Controls está ao contrário, ou seja, começa com o controlo que está mais à frente.

Provavelmente terás de inverter a ordem.

Só para testares, clica na imagem e faz o bring to front e experimenta imprimir.

Caso funcione, terás de inverter a lista de controlos.

Algo assim (não testado):

For i As Integer = Me.Controls.Count - 1 To 0 Step -1
dim objecto as Control = Me.Controls(i)
'...

Editado por nelsonr

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.