AIMS/DocumentManagement/GoldPrinter/PrinterSingleton.cs
2022-12-27 17:33:33 +08:00

69 lines
1.5 KiB
C#

using System;
using System.Drawing.Printing;
namespace GoldPrinter
{
public class PrinterSingleton
{
private static PrintDocument thePrintDocumentInstance = null;
private static PrinterMargins thePrinterMarginsInstance = null;
public static PrintDocument PrintDocument
{
get
{
return PrinterSingleton.GetPrintDocumentInstance();
}
set
{
PrinterSingleton.thePrintDocumentInstance = value;
}
}
public static PrinterMargins PrinterMargins
{
get
{
return PrinterSingleton.GetPrinterMarginsInstance();
}
set
{
PrinterSingleton.thePrinterMarginsInstance = value;
}
}
private PrinterSingleton()
{
}
public static void Reset()
{
if (PrinterSingleton.thePrintDocumentInstance != null)
{
PrinterSingleton.thePrintDocumentInstance.Dispose();
}
PrinterSingleton.thePrintDocumentInstance = null;
PrinterSingleton.thePrinterMarginsInstance = null;
}
private static PrintDocument GetPrintDocumentInstance()
{
if (PrinterSingleton.thePrintDocumentInstance == null)
{
PrinterSingleton.thePrintDocumentInstance = new PrintDocument();
}
return PrinterSingleton.thePrintDocumentInstance;
}
private static PrinterMargins GetPrinterMarginsInstance()
{
if (PrinterSingleton.thePrinterMarginsInstance == null)
{
PrinterSingleton.thePrinterMarginsInstance = new PrinterMargins(PrinterSingleton.GetPrintDocumentInstance());
}
return PrinterSingleton.thePrinterMarginsInstance;
}
}
}