private void frmBarCode_Load(object sender, EventArgs e)
{
bindCbox();
}
#region 選擇打印機
[DllImport("winspool.drv")]
public static extern bool SetDefaultPrinter(String Name); //調用win api將指定名稱的打印機設置為默認打印機
private static PrintDocument fPrintDocument = new PrintDocument();
//獲取本機默認打印機名稱
public static String DefaultPrinter()
{
return fPrintDocument.PrinterSettings.PrinterName;
}
public static List<String> GetLocalPrinters()
{
List<String> fPrinters = new List<String>();
fPrinters.Add(DefaultPrinter()); //默認打印機始終出現在列表的第一項
foreach (String fPrinterName in PrinterSettings.InstalledPrinters)
{
if (!fPrinters.Contains(fPrinterName))
{
fPrinters.Add(fPrinterName);
}
}
return fPrinters;
}
//獲取當前默認打印機信息
private void bindCbox()
{
List<String> PrinterList = new List<String>();
PrinterList = GetLocalPrinters();
foreach (String strpinter in PrinterList)
{
cmbPrinter.Properties.Items.Add(strpinter);
}
if (cmbPrinter.SelectedItem == null)
{
cmbPrinter.SelectedIndex = 0;
}
else
{
cmbPrinter.SelectedIndex = 0;
}
}
private void cmbPrinter_SelectedIndexChanged(object sender, EventArgs e)
{
SetDefaultPrinter(cmbPrinter.SelectedText);
}
#endregion