我正在尝试使用format.string将列插入列表框,但似乎无法正常工作,它说“输入字符串的格式不正确”。我已经解决了这个问题,但在Google上找不到任何解决方案。所以我决定在这里问,顺便问一下这是我的代码
Public Class Form1
Dim stddetails As String = "{0, -20}{1, -20}{2, -20}{3, -20}(4, -20}{5, -20}{6, -20}"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
lstoutput.Items.Add(String.Format(stddetails, "Customer ID", "Nama Depan", "Nama Belakang", "Pemesanan", "Tanggal Pemesanan", "Pembayaran", "Total"))
cmbpemesanan.Items.Add("Pilih Cara Pemesanan")
cmbpemesanan.Items.Add("Telepon")
cmbpemesanan.Items.Add("Ditempat")
cmbpemesanan.Items.Add("Pemesanan Online")
cmbpembayaran.Items.Add("Pilih Pembayaran")
cmbpembayaran.Items.Add("Cash")
cmbpembayaran.Items.Add("Master Card")
cmbpembayaran.Items.Add("Visa Card")
cmbpembayaran.Items.Add("Debit Langsung")
lstmerek.Items.Add("Indonesian")
lstmerek.Items.Add("Japanese")
lstmerek.Items.Add("Middle East")
lstmerek.Items.Add("European")
seafood.Checked = False
traditional.Checked = False
drinks.Checked = False
fullpack.Checked = False
rbsatu.Checked = False
rbdua.Checked = False
rbempat.Checked = False
rbdelapan.Checked = False
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnkeluar.Click
Dim ikeluar As DialogResult
ikeluar = MessageBox.Show("Keluar dari menu?", "Food Order Menu", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If ikeluar = DialogResult.Yes Then
Application.Exit()
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapus.Click
seafood.Checked = False
traditional.Checked = False
drinks.Checked = False
fullpack.Checked = False
rbsatu.Checked = False
rbdua.Checked = False
rbempat.Checked = False
rbdelapan.Checked = False
txtid.Clear()
txtnamabelakang.Clear()
txtnamadepan.Clear()
cmbpembayaran.Text = "Pilih Pembayaran"
cmbpemesanan.Text = "Pilih Cara Pemesanan"
lstoutput.Items.Clear()
lstmerek.SelectedItems.Clear()
lstoutput.Items.Add(String.Format(stddetails, "Customer ID", "Nama Depan", "Nama Belakang", "Pemesanan", "Tanggal Pemesanan", "Pembayaran", "Total"))
End Sub
Public Function getprices(ByVal brand As String, ByVal items As List(Of String), ByVal quantity As Integer) As Double
Dim prices = {
{"Indonesian", 2.5, 2, 0.95},
{"Japanese", 2.3, 1.5, 2.5},
{"Middle East", 3.5, 5, 4.9},
{"European", 3.8, 2.7, 1.5}
}
Dim sum As Double = 0
For i As Integer = 0 To 4
If (brand = prices(i, 0)) Then
For j As Integer = 0 To items.Count - 1
If (items(j) = "Seafood") Then
sum = sum + prices(i, 1)
ElseIf (items(j) = "Traditional") Then
sum = sum + prices(i, 2)
ElseIf (items(j) = "Drinks") Then
sum = sum + prices(i, 3)
End If
Next
sum = sum * quantity
End If
Next
Return sum
End Function
Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
Dim ID, namadepan, namabelakang, pemesanan, tanggal, pembayaran, price As String
ID = txtid.Text
namadepan = txtnamadepan.Text
namabelakang = txtnamabelakang.Text
pemesanan = cmbpemesanan.Text
tanggal = cmbtanggal.Text
pembayaran = cmbpembayaran.Text
Dim items As New List(Of String)
Dim quantity As Integer
If (seafood.Checked = True) Then
items.Add(seafood.Text)
End If
If (traditional.Checked = True) Then
items.Add(traditional.Text)
End If
If (drinks.Checked = True) Then
items.Add(drinks.Text)
End If
If (fullpack.Checked = True) Then
items.Add(fullpack.Text)
End If
If (rbsatu.Checked = True) Then
quantity = 1
ElseIf (rbdua.Checked = True) Then
quantity = 2
ElseIf (rbempat.Checked = True) Then
quantity = 4
ElseIf (rbdelapan.Checked = True) Then
quantity = 8
End If
If lstmerek.Text = "" Then
MessageBox.Show("Anda harus memilih jenis makanan.", "Jenis Makanan", MessageBoxButtons.OK, MessageBoxIcon.Information)
ElseIf (seafood.Checked = False And traditional.Checked = False And drinks.Checked = False) Then
MessageBox.Show("Anda harus memilih kategori.", "Kategori", MessageBoxButtons.OK, MessageBoxIcon.Information)
ElseIf (rbsatu.Checked = False And rbdua.Checked = False And rbempat.Checked = False And rbdelapan.Checked = False) Then
MessageBox.Show("Anda harus memilih jumlah.", "Jumlah Pesanan", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
price = FormatCurrency(getprices(lstmerek.Text, items, quantity))
lstoutput.Items.Add(String.Format(stddetails, ID, namadepan, namabelakang, pemesanan, tanggal, pembayaran, price))
End If
End Sub
Private Sub btntambah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntambah.Click
seafood.Checked = False
traditional.Checked = False
drinks.Checked = False
fullpack.Checked = False
rbsatu.Checked = False
rbdua.Checked = False
rbempat.Checked = False
rbdelapan.Checked = False
txtid.Clear()
txtnamabelakang.Clear()
txtnamadepan.Clear()
cmbpembayaran.Text = "Pilih Pembayaran"
cmbpemesanan.Text = "Pilih Cara Pemesanan"
lstoutput.Items.Clear()
lstmerek.SelectedItems.Clear()
End Sub
结束班级
非常感谢您的帮助。
答案 0 :(得分:0)
第2行出现语法错误
您使用“(”代替“ {”
替换
Dim stddetails As String = "{0, -20}{1, -20}{2, -20}{3, -20}(4, -20}{5, -20}{6, -20}"
使用
Dim stddetails As String = "{0, -20}{1, -20}{2, -20}{3, -20}{4, -20}{5, -20}{6, -20}"