Tach zusammen,
Also ich habe in einer Picturebox / Panel einige Pictureboxen mit Inhalt erstellt, wenn ich auf einen Button drücke. Funktioniert alles wunderbar,doch wenn ich dann die Picturebox / Panel drucken möchte, sind die Dateien wenn sie zum Beispiel übereinander waren genau umgekehrt. Also die die früher unten waren sind oben und die früher oben waren sind unten.
Was kann ich dagegen tun?
Zum drucken:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As _
System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim w As Integer = screenpicture.Width ' Breite des Hintergrunds
Dim h As Integer = screenpicture.Height ' Höhe des Hintergrunds
' Bitmap für das Abbild des Controls / der Form bereitstellen
Dim background = New Bitmap(w, h)
' Screenshot speichern
screenpicture.DrawToBitmap(background, Rectangle.FromLTRB(0, 0, w, h)) _
'Hintergrund zum Speichern vorbereiten
'Drucker auswählen
PrintDocument1.PrinterSettings.PrinterName = _
PrintDialog1.PrinterSettings.PrinterName
'Drucken
Dim bg = New PictureBox
bg = background
e.Graphics.DrawImage(bg, screenpicture.Bounds)
End Sub Die Picturebox die erstellt werden.
pname = (CType(sender, PictureBox).Name.Remove(0, 10))
pArray(nFree) = New PictureBox
pArray(nFree).Parent = Me.screenpicture
pArray(nFree).Location = New Point(256, 256)
pArray(nFree).Size = New Size(100, 100)
pArray(nFree).Visible = True
pArray(nFree).SizeMode = PictureBoxSizeMode.AutoSize
pArray(nFree).ImageLocation = ".\Bilder\" + pname + ".jpg" Start des Druckvorgangs
Private Sub DruckengesamtesFeldToolStripMenuItem_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) Handles _
DruckengesamtesFeldToolStripMenuItem.Click
'Druckfunktion starten
If PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub 1. So sieht das beim Formular aus. (Der kleine Block ist unter dem Großen)
########
########
########
########
########
2. So sieht es beim Drucken aus. (Der kleine Block ist über dem Großen)
########
########
###[_]###
########
########
Andersrum wenn ich es erst so machen würde :
########
########
###[_]###
########
########
Dann würde es beim Drucken so aussehen:
########
########
########
########
######## |