예제 #1
0
        /// <summary>
        /// 发票打印机\报表打印机
        /// </summary>
        private void LoadDefaultPrinter()
        {
            string         cInvoicePrinterName = Constant.CInvoicePrinterName;
            string         cReportPrinterName  = Constant.CReportPrinterName;
            PrinterManager printerManager      = new PrinterManager();
            List <string>  installedPrinters   = printerManager.GetInstanlledPrinters();

            cmbPrinter.Items.Clear();
            cmbReportPrinter.Items.Clear();
            foreach (string name in installedPrinters)
            {
                cmbPrinter.Items.Add(name);
                cmbReportPrinter.Items.Add(name);
            }
            cmbPrinter.Text       = cInvoicePrinterName;
            cmbReportPrinter.Text = cReportPrinterName;
        }
예제 #2
0
        private void btnDetect_Click(object sender, EventArgs e)
        {
            PrinterManager printerManager    = new PrinterManager();
            List <string>  installedPrinters = printerManager.GetInstanlledPrinters();
            List <Printer> printers          = (new PrinterManager()).GetConfiguredPrinters();

            dgvConfig.Rows.Clear();
            foreach (string name in installedPrinters)
            {
                Printer printer = printers.Find(delegate(Printer p)
                {
                    return(p.Name == name);
                });
                if (printer != null)
                {
                    AddPrinterToGrid(printer);
                    printers.Remove(printer);
                }
                else
                {
                    Printer newprinter = new Printer();
                    newprinter.Name = name;
                    newprinter.Type = PrinterType.未知类型;
                    newprinter.Port = "";
                    AddPrinterToGrid(newprinter);
                }
            }
            if (printers.Count != 0)
            {
                foreach (Printer p in printers)
                {
                    AddPrinterToGrid(p);
                    int row = dgvConfig.Rows.Count - 1;
                    for (int i = 0; i < dgvConfig.Columns.Count; i++)
                    {
                        dgvConfig[i, row].Style.ForeColor = Color.DarkGray;
                    }
                }
            }
        }