[英]C# Combobox not populating from list correctly
我有一个组合框,我试图在用户编辑数据后从“设置”填充。 我遇到了两个奇怪的问题之一。
问题 1.) 如果我写这样的代码:
var list = Properties.UserSpecific.Default.webCombo.Cast<string>().ToList(); comboBox7.Items.Add(list);
我最终得到这个:
所以我试着这样写:
string[] webDropDown = Properties.UserSpecific.Default.webCombo.Cast<string>().ToArray();
comboBox7.DataSource = webDropDown;
但它把我的数据全部放在 1 行上。
据我所知,数据不在 1 行。 我可以写入富文本框,它会显示在单独的行上。 所以我不确定我做错了什么。 我还有其他几行代码:
comboBox1.DataSource = Globals.combo1;
我根本没有这个问题。 我能说的最好是问题正在发生,因为我试图让用户能够在我的设置页面中自定义Systems.Collections.Specialized.StringCollection
。 我通过使用此代码更新来完成此操作:
List<string> display = new List<string>();
display.Add(richTextBox1.Text);
Properties.UserSpecific.Default.webCombo.Clear();
foreach(string str in display)
{
Properties.UserSpecific.Default.webCombo.Add(str);
}
//Save All Changes
Properties.UserSpecific.Default.Save();
我正在使用:
//Populate DropDown Box For Websites
var list = Properties.UserSpecific.Default.webCombo.Cast<string>().ToList();
foreach (string str in list)
{
richTextBox1.Text += str;
}
显然我做错了什么,但我无法弄清楚。
string[] webDropDown = Properties.UserSpecific.Default.webCombo.Cast<string>().ToArray();
comboBox7.Items.AddRange(webDropDown);
以下代码行正在创建问题。
List<string> display = new List<string>();
display.Add(richTextBox1.Text);
它会将整个文本添加为单个项目。
尝试类似下面的内容。
List<string> display = new List<string>();
display = richTextBox1.Text.Split('\n').ToList<string>();
添加用于项目本身
尝试
foreach(string item in list)
{
comboBox7.Items.Add(item);
}
(代题作者贴出答案移至答案空间)。
下面的 Ken 和 Ajith 让我指明了正确的方向。 我最终遵循了肯的建议并使用了:
string[] webDropDown = Properties.UserSpecific.Default.webCombo.Cast<string>().ToArray();
comboBox7.Items.AddRange(webDropDown);
我还必须遵循 Ajith 的建议并进行更改:
display = richTextBox1.Text.Split('\n').ToList<string>();
以及我将内容显示回我的编辑器的方式的改变:
var list = Properties.UserSpecific.Default.webCombo.Cast<string>().ToList();
foreach (string str in list)
{
richTextBox1.Text += str + Environment.NewLine;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.