C#-Formulardruck – Tutorial oder einfaches Beispiel gesucht

BitMan

Erfahrenes Mitglied
Hallo Tutorialer,

ich möchte Daten als Formular darstellen um diese dann als Ettikett aus zu drucken.

Das Zusammenstellen ist kein Problem.

Aber ich weis im Moment nicht wie ich das über die Windows Druckschnittstelle raus bekomme ohne das über Richtext, etc zu drucken.

Die spätere Ansicht soll bestimmte Informationen als Klartext innerhalb verschiedener Rahmen drucken, die eine spezifische Größe in mm haben.

Wer kann mir anhand eines einfachen Beispiels zeigen wie das geht?
Habe mal eine Grafik beigelegt, wie das später aussehen muss, nur das die Ränder abgerundet sein sollten. Habe noch nie mit Druck unter Visual Studio.net gearbeitet.

LG BitMan
 

Anhänge

  • ettikett.jpg
    ettikett.jpg
    16 KB · Aufrufe: 808
Dazu gibt es das PrintDocument-Control. Mit Der Print-Methode wird der Druck in Auftrag gegeben. Danach tritt das Ereignis "PrintPage" ein, in welchem du über e.Graphics ein System.Drawing.Graphics-Objekt erhälst, auf dem du mit den bekannten Mal- und Schreibfunktionen dein Formular "draufzeichnen" kannst.
Code:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

'Jetzt irgendwas mit e.Graphics machen
'Eventuell weitere Seite hinzufügen: e.HasMorePages = True

End Sub
Übrigens: das PrintDialog-Control bietet dir eine einfache Möglichkeit einen Drucker-Dialog anzuzeigen, um den Drucker auszuwählen und dessen Einstellungen zu ändern.
Ich hoffe dir ein bisschen geholfen zu haben, auch wenn es nur VB und kein C#-Code ist.
 
Danke, nun weis ich in welche Richtung ich suchen muss. Habe zwei Bücher, die je ein Kapitel zum Thema aufweisen. Hoffe aber das hier jemand ein einfaches Anschauungsbeispiel einstellt, denn daraus lernt es sich für mich leichter.

Salü,
BitMan
 
Jo, Drucken funktioniert schon mal, zumindest mit eingachen Tests.

Aber schon tun sich brutale neue Fragen auf:
e.Graphics.DrawString(this.textBox4.Text, font, Brushes.Black, 200, 200);
Wie bekomme ich abgerundete Ecken?

e.Graphics.DrawRectangle(myPen, 100, 200, 50, 200);
Wie mache ich Angaben zur Position in mm, die hier sind in Pixeln!
 
Wenn es keine Funktion zum malen von Rechtecken mit abgerundeten Ecken gibt, dann musst du halt selber eine Funktion machen. Du kannst das Rechteck ja aus 4 Linien und jeweils einem Viertelkreis in den Ecken zusammenbasteln. Und dafür gibt es Funktionen: DrawLine(s) und DrawEllipse (Klick!)
 
Soweit war ich auch schon. Aber alle Kreisfömigen Typen sind geschlossen, das heißt mein Rechteck bekäm Kreis oder elipsen an die Ecken, aber ich will nur abgerundete Ecken! Oder weis hier wer wie man eine Elipse nur über 45 Grad zeichnet.

Außerdem knabber ich immer noch an der Ausgabe in Pixel, da ich mm-Augaben brauche.

cu s00n
BitMan
 

Neue Beiträge

Zurück