Ich habe ein Formular, das korrekt auf meinem Computer druckt, aber wenn ich die Anwendung auf einem anderen Computer bereitstellen, passt das Formular nicht auf die Seite und der Desktophintergrund erscheint auf dem gedruckten Dokument. Der Hauptunterschied zwischen den beiden Maschinen besteht darin, dass die DPI-Einstellung bei 150% liegt. Ich habe die automatische Skalierung viele Male geändert, aber nichts ändert sich. Das Formular sieht auf dem Bildschirm gut aus, wird aber nicht korrekt gedruckt. Unten ist der Code, den ich verwende.Mein Formular wird nicht korrekt gedruckt, wenn DPI 150% ist
private void btnPrint_Click(object sender, EventArgs e)
{
CaptureScreen();
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
}
Bitmap memoryImage;
private void CaptureScreen()
{
Graphics myGraphics = this.CreateGraphics();
Size s = this.Size;
memoryImage = new Bitmap(s.Width, s.Height, myGraphics);
Graphics memoryGraphics = Graphics.FromImage(memoryImage);
memoryGraphics.CopyFromScreen(this.Location.X, this.Location.Y, 0, 0, s);
}
private void printDocument1_PrintPage(System.Object sender,
System.Drawing.Printing.PrintPageEventArgs e)
{
e.Graphics.DrawImage(memoryImage, 0, 0);
}
Warum versuchen Sie ein Webformular zu drucken? Und sind Sie sicher, dass der Unterschied nicht in den Druckeinstellungen zwischen den beiden Maschinen liegt? –
Der Benutzer muss das Windows-Formular ausfüllen, speichern und drucken. Das Formular wird korrekt gedruckt, wenn der DPI bei 100% oder 125%, aber nicht bei 150% liegt. Ich habe einen Benutzer mit Sehproblemen, so dass er die höchste DPI-Einstellung ausführt. – wsb
Haben Sie ein Bild davon, wie der fehlerhafte Ausdruck aussieht? – NineBerry