User Einstellungen aus PrinterDialoge merken/speichern und beim erneuten Druck dann benutzen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von nogood.

    User Einstellungen aus PrinterDialoge merken/speichern und beim erneuten Druck dann benutzen

    Moin Leute,

    kurz NICHT zur Sache: Ich war hier schon mal im Forum unterwegs aber wegen Nichtaktivietät wurde mein Account automatisch gelöscht :(. So sieht es mal wieder aus. Alle 5 Jahre kommt der Wunsch was zu programmieren. Leider folgte dann immer ein jahrelanger Programmierwinterschlaf. Ich fange also wieder mal bei fast Null an.
    UND ich nehme mit jetzt wirklich vor am Ball zu bleiben ...

    Nun konkret zur Sache:
    Ich benutze im Moment Visual Studio 2017 Community VB.NET

    Ich habe das Programm fertig und es macht alles so wie es soll. Aber wie immer ist es nicht "perfekt".

    Wenn der User den Print-Button in der Form drückt öffnet sich der Printdialoge , dort muss der Nutzer dann den Drucker auswählen (es ist für mein Programm nicht der Standarddrucker der automatisch gewählt ist sondern ein Plastikkartendrucker) und er muss zusätzlich noch unter "Erweiterte Einstellungen" die Ausrichtung auf Querformat stellen.
    Bei einem Neustart des Programm muss der User wieder diese Änderungen ausführen.

    Gib es eine Möglichkeit und wie sieht sie aus, dass mein Programm die vom User geänderten Einstellungen (Druckerwahl und Querformat) speichert und für das nächste mal diese Einstellungen als Default gleich im Printerdialog benutzt?
    Ganz auf den Dialog möchte ich nicht verzichten, da der Drucker sich in Zukunft ändern könnte.

    Einen Teil des Problems -Querformat- kann ich selber lösen ist aber "dirty" da ich einfach die Usereingaben im Printerdialog überschreibe.

    VB.NET-Quellcode

    1. 'erst kommt der "Drucker-Dialoge" Druckerauswahl und Einstellungen
    2. 'danach startet der Druck
    3. Private Sub Button4_Druck_Click(sender As Object, e As EventArgs) Handles Button4_Druck.Click
    4. PrintDialog1.Document = PrintDocument1
    5. PrintDialog1.PrinterSettings = PrintDocument1.PrinterSettings
    6. PrintDialog1.AllowSomePages = True
    7. If PrintDialog1.ShowDialog = DialogResult.OK Then
    8. PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings
    9. PrintDocument1.DefaultPageSettings.Landscape = True 'legt fest, dass die Seite quer bedruckt wird (noch verbessungswürdig)
    10. PrintDocument1.Print()
    11. End If
    12. End Sub


    Habt Ihr Vorschläge?
    ---
    2long2read: Einstellugen aus DruckerDialoge für nächste Nutzung des Programms als Default Einstellungen nutzen (Druckerwahl & Querformat)
    @nogood Erneut Willkommen im Forum. :thumbup:
    Lies dir diesen Thread mal aufmerksam durch, im Prinzip alles, was Dir vorschwebt, kommt da iwo vor:
    Drucken mehrseitiger Dokumente
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Oder gugge dieses Teil: activevb.de/cgi-bin/tippupload…Mehrseitigen_Text_drucken
    Das habich eiglich so konzipiert, dass man den DruckDialog nur einmal einstellen muss, und dann einen anneren Druck-Button hat, der die gegebenen Einstellungen wiederverwendet.
    (Ist allerdings lange her, und mit Landscape habich nichtmal ausprobiert)

    RodFromGermany schrieb:


    Lies dir diesen Thread mal aufmerksam durch


    @RodFromGermany Deinen Post hatte ich schon per Suche gefunden und einmal quer gelesen... sollte ich doch nochmal in ruhe lesen :)
    Hab deinen Thread zur Diskreten FTT gesehen viel Erfolg damit... da hab ich die Grunlagen aus dem Studium auch erfolgreich verdrängt.

    @ErfinderDesRades danke für den link werde ich auch mal durchsehen (hörts sich auch vielversprechend an).

    Ich melde mich wenn ich es hinbekommen habe

    *Vollzitat entfernt* ~NoFear23m

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Nofear23m“ ()