obamaself Posted September 11, 2013 at 01:54 PM Report #524136 Posted September 11, 2013 at 01:54 PM 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
nelsonr Posted September 11, 2013 at 02:13 PM Report #524139 Posted September 11, 2013 at 02:13 PM (edited) 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) '... Edited September 11, 2013 at 02:13 PM by nelsonr
obamaself Posted September 11, 2013 at 02:17 PM Author Report #524143 Posted September 11, 2013 at 02:17 PM Funcionou perfeitamente 🙂 Devia ter pensado nisso antes 😕 Obrigada,
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now