我已经将复选框中的项目添加到名为listbox的列表中,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]);
}
问题在于以下几行。
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以查看多行
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句