我已将复选框中的项目添加到名为displayBurgerBox
的列表框中,然后添加到了数组中。现在,当我单击按钮时,我想在文本框的单独一行上显示每个订单(数组)。我在框中而不是顺序System.Windows.Forms.ListBox+ObjectCollection
中得到此文本。任何想法,还是我应该使用其他方法。
private void addItem_Click(object sender, EventArgs e)
{
string[] listOfItems = new string[1000];
int numberOfItems = 0;
listOfItems[numberOfItems] = Convert.ToString(displayBurgerBox.Items);
orderList.AppendText(listOfItems[numberOfItems]);
orderList.AppendText(Environment.NewLine);
MessageBox.Show(listOfItems[numberOfItems]);
}
答案 0 :(得分:0)
问题出在下面一行。
Convert.ToString(displayBurgerBox.Items);
相反,您应该
displayBurgerBox.Items.Cast<String>().ToArray()
另外,我建议您不要预先声明固定大小的数组,而应该使用
var listOfItems= displayBurgerBox.Items.Cast<String>().ToArray()
最后,您可以使用以下方式连接数组
string.Join($"{Environment.NewLine}",listOfItems)
您所共享的示例中的最终代码将如下所示。
private void addItem_Click(object sender, EventArgs e)
{
var listOfItems = displayBurgerBox.Items.Cast<String>().ToArray();
MessageBox.Show(string.Join($"{Environment.NewLine}",listOfItems));
textBox1.Text = string.Join($"{Environment.NewLine}", listOfItems);
}
PS:您已经提到要将其添加到文本框中,但是找不到反映相同内容的代码。已添加代码以立即添加到文本框。请切记将TextBox的MultiLine属性更改为true以查看多行