Hallo Zusammen,
ich stehe vor einem vermutlich kleinen Problem und bitte um Hilfe.
ich möchte dass ein direktdruck auf einem bestimmten Drucker gemacht wird dies funktioniert auch.
printDocument1.PrinterSettings.PrinterName = "Dymo LabelWriter 450";
printDocument1.Print();
jetzt möchte ich zusätzlich noch wenn dieser Drucker nicht existiert soll der printdialog geöffnet werden.
momentan sieht es so aus.
If(printDocument1.Print)
{
printDocument1.PrinterSettings.PrinterName = "Dymo LabelWriter 450";
printDocument1.Print();
}
else
{
printDialog1.ShowDialog();
}
allerdings bringt es einen Fehler gleich in der ersten Zeile
Can not convert method group print in bool könnte mir jemand helfen wie die Programmierung richtig aussehen muss
Ich bedanke mich im Vorfeld für eure Hilfe
Bitte in Zukunft Code Tags verwenden. Niemand liest gern unformatierten Code
[Hinweis] Wie poste ich richtig?
Hallo und willkommen,
benutze PrinterSettings.InstalledPrinters, um die installierten Drucker zu durchsuchen: How to check if a printer exists in C# and VB.NET (auch wenn der Code m.E. nicht 100%ig optimal ist).
PS: Bitte verwende die C#-Tags hier im Forum (kannst auch noch, eine Zeit lang, nachträglich deinen Beitrag editieren).
Vielen Dank für die schnelle Antwort.
wie bekomme ich das jetzt ausgeführt
ich würde gerne form load und darin soll es direkt ausgeführt werden.
sorry für die dummen fragen bin absoluter neuling
Wenn du die Methode aus dem 2. Link in deine Klasse kopierst (evtl. noch using System.Linq;
ganz oben hinzufügen), dann so aufrufen:
string printerName = "Dymo LabelWriter 450";
if (PrinterExists(printerName))
{
printDocument1.PrinterSettings.PrinterName = printerName;
printDocument1.Print();
}
else
{
printDialog1.ShowDialog();
}
Edit:
Ich habe gerade in der Doku zu PrinterSettings.PrinterName (s. "Hinweise") gelesen, daß es noch einfacher (ohne obige Methode) geht:
printDocument1.PrinterSettings.PrinterName = "Dymo LabelWriter 450";
if (printDocument1.PrinterSettings.IsValid)
{
printDocument1.Print();
}
else
{
printDialog1.ShowDialog();
}
If(printDocument1.Print)
...[/csharp]allerdings bringt es einen Fehler gleich in der ersten Zeile
Can not convert method group print in bool
Du hast die Klammern vergessen.
Das bringt hier auch nichts, denn die PrintDocument.Print-Methode hat keinen Rückgabewert.
Und es soll außerdem vorher ermittelt werden, ob dieser spezielle Drucker installiert ist.