我有1个组合框控制,我有很多国家。
现在,在这个comboxbox选择中,我希望显示如下内容:
注意:最新选择应该始终位于顶部。
每次选择任何国家/地区时,我都希望在此控件中创建条目,此条目应位于顶部。
我是第一次在winform
工作,所以我不知道应该用什么控件来达到同样的效果。
我不确定使用哪种控件,所以我现在使用textbox
控件。
这就是我所做的:
private void CountriesForm_Load(object sender, EventArgs e)
{
string[] Countries = Countries.GetallCountries();
foreach (var item in Countries
{
cmbCountries.Items.Add(item.ToString());
}
cmbCountries.SelectedIndex = 0;
}
private void cmbCountries_SelectedIndexChanged(object sender, EventArgs e)
{
if(cmbCountries.SelectedIndex > 0)
{
if(txtCountries.Text.Count() > 0)
{
txtCountries.Text.Text = "_____________________________________" + txtCountries.Text + cmbCountries.SelectedIndex.ToString();
}
else
{
txtCountries.Text = cmbCountries.SelectedItem.ToString();
}
}
}
答案 0 :(得分:1)
我建议使用ListBox,你只需要传递你想要显示的项目,在这种情况下是字符串。 ListBox不会在项目之间添加一行,但您仍然可以将它们区分开来。
因此,一旦将列表框添加到表单中,就让它称为lbSelec。你只需要:
private void cmbCountries_SelectedIndexChanged(object sender, EventArgs e)
{
String toAdd= "Country Selected :";
toAdd+=cmbCountries.Text;
toAdd+=" " //You can make it to more or less " " depending on the length of the country name
toAdd+="DateTime: " + DateTime.Now.ToString();
lbSelect.items.Insert(0,toAdd);
}