【发布时间】:2015-03-22 07:20:51
【问题描述】:
我正在尝试对齐打印。虽然我知道行中心的字符代码是 (27,97,1) ,但我无法实现它。在以下代码中,eInit 在调试时是 '\n' 而 eCenter 是 '125' :(。我需要对齐线居中。有人可以帮忙吗?
private string PrinterName = "Printer1";
public string eInit = Convert.ToString((char)10);
public string eCentre = Convert.ToString((char)(27) + (char)(97) + (char)(1));
private void bnPrint_Click(System.Object sender, System.EventArgs e)
{
PrintHeader();
}
public void PrintHeader()
{
Print(eInit+eCentre+"Hello");
Print(eInit+eCentre+"Hi");
}
public void Print(string Line)
{
SendStringToPrinter(PrinterName, Line );
}
public bool SendStringToPrinter(string szPrinterName, string szString)
{
bool functionReturnValue = false;
if (PrinterOpen)
{
IntPtr pBytes = default(IntPtr);
Int32 dwCount = default(Int32);
Int32 dwWritten = 0;
dwCount = szString.Length;
pBytes = Marshal.StringToCoTaskMemAnsi(szString);
functionReturnValue = WritePrinter(hPrinter, pBytes, dwCount, ref dwWritten);
Marshal.FreeCoTaskMem(pBytes);
}
else
{
functionReturnValue = false;
}
return functionReturnValue;
}
OUTPUT:
125Hello
125Hi
【问题讨论】: