該函數需要一個通用列表(Byte())作爲agrs傳遞,而我似乎無法獲得任何內容添加到此列表。我需要printdata(0)& (1)加入它。添加到List(of Byte())
Dim printdata(1) As String
labelname = "WasNow"
printdata(0) = "9,99"
printdata(1) = "6.99"
Dim args = New List(Of Byte())
args.Add(Convert.ToByte(printdata))
ApplicationContext.CurrentDevice.Printer.Print(labelname, 1, args)
Frmscanprint.Show()
這是工作的C#版本代碼,只添加一個項目。
private void printButton_Click(object sender, EventArgs e)
{
try
{
this.printNumber++;
var args = new List<byte[]>() { Encoding.ASCII.GetBytes(string.Format(CultureInfo.InvariantCulture, "Test #{0}", this.printNumber)) };
if (!ApplicationContext.AllDevicesSelected)
{
ApplicationContext.CurrentDevice.Printer.Print("SamplePrint", 1, args);
}
else
{
PrintSampleForEachDevice("SamplePrint", 1, args);
}
}
}
C#正在轉換一個字符串,而VB正試圖轉換一個字符串格式的數字,這是兩碼事。 Convert.ToByte不佔用數組。如果你想轉換字符串格式的實際數字,你必須正確設置文化,因爲9,99和6.99是兩種不同的格式(點對逗號)。也許嘗試在VB –