如何在单个MessageBox中展示多个选中的披萨配料结果?
解决方法
核心思路是先收集所有选中的配料,再一次性通过MessageBox展示,避免多次弹窗的问题。
修改后的代码实现
// 初始化集合存储选中的配料 List<string> selectedToppings = new List<string>(); // 检查每个复选框,收集选中的配料 if (cheeseCheckBox.Checked) { selectedToppings.Add("Cheese"); } if (mushroomCheckBox.Checked) { selectedToppings.Add("mushroom"); } if (bellPepperCheckBox.Checked) { selectedToppings.Add("Bell Pepper"); } if (pepperoniCheckBox.Checked) { selectedToppings.Add("Pepperoni"); } // 统一展示结果 if (selectedToppings.Count > 0) { // 把配料列表拼接成换行分隔的字符串 string message = "You selected:\n" + string.Join("\n", selectedToppings); MessageBox.Show(message, "Selected Toppings", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { // 处理未选择任何配料的情况 MessageBox.Show("You haven't selected any toppings.", "No Toppings Selected", MessageBoxButtons.OK, MessageBoxIcon.Information); }
改进说明
- 用
List<string>集中存储选中的配料,避免重复调用MessageBox.Show - 通过
string.Join将配料列表转为每行一个的格式,提升可读性 - 新增未选择配料时的提示逻辑,完善用户体验
内容的提问来源于stack exchange,提问作者breezy program
相关产品推荐
相关产品推荐

