如何使用 CultureInfo 中的两个元素填充组合框
How to populate combobox with two elements from CultureInfo
我需要构建一个函数来使用来自 CultureInfo 的 2 个元素(EnglishName 和 CurrencyEnglishName)填充 Combobox。阅读此处的其他帖子,我发现了下面的代码,它使用列表用一个元素填充 Combobox。如何使用类似于此的代码用 2 个元素填充 Combobox?
public static List<string> GetCountryList()
{
List<string> cultureList = new List<string>();
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
foreach (CultureInfo culture in cultures)
{
RegionInfo region = new RegionInfo(culture.LCID);
if (!(cultureList.Contains(region.EnglishName)))
{
cultureList.Add(region.EnglishName);
}
}
return cultureList;
}
附加信息:框架 4.5,Windows 表格。
请试试这个,我已经测试过了。
首先定义一个自定义的class用于绑定:
public class CountryCurrencyPair
{
public string Country { get; set; }
public string Currency { get; set; }
}
然后通过 Linq 简化查询:
public List<CountryCurrencyPair> GetCountryList()
{
return CultureInfo.GetCultures(CultureTypes.SpecificCultures)
.Select(c => new RegionInfo(c.LCID)).Distinct()
.Select(r => new CountryCurrencyPair()
{
Country = r.EnglishName,
Currency = r.CurrencyEnglishName
}).ToList();
}
最后绑定到控件:
private void button1_Click(object sender, EventArgs e)
{
List<CountryCurrencyPair> lst = GetCountryList();
this.comboBox1.DisplayMember = "Country";
this.comboBox1.ValueMember = "Currency";
this.comboBox1.DataSource = lst;
}
我需要构建一个函数来使用来自 CultureInfo 的 2 个元素(EnglishName 和 CurrencyEnglishName)填充 Combobox。阅读此处的其他帖子,我发现了下面的代码,它使用列表用一个元素填充 Combobox。如何使用类似于此的代码用 2 个元素填充 Combobox?
public static List<string> GetCountryList()
{
List<string> cultureList = new List<string>();
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
foreach (CultureInfo culture in cultures)
{
RegionInfo region = new RegionInfo(culture.LCID);
if (!(cultureList.Contains(region.EnglishName)))
{
cultureList.Add(region.EnglishName);
}
}
return cultureList;
}
附加信息:框架 4.5,Windows 表格。
请试试这个,我已经测试过了。
首先定义一个自定义的class用于绑定:
public class CountryCurrencyPair
{
public string Country { get; set; }
public string Currency { get; set; }
}
然后通过 Linq 简化查询:
public List<CountryCurrencyPair> GetCountryList()
{
return CultureInfo.GetCultures(CultureTypes.SpecificCultures)
.Select(c => new RegionInfo(c.LCID)).Distinct()
.Select(r => new CountryCurrencyPair()
{
Country = r.EnglishName,
Currency = r.CurrencyEnglishName
}).ToList();
}
最后绑定到控件:
private void button1_Click(object sender, EventArgs e)
{
List<CountryCurrencyPair> lst = GetCountryList();
this.comboBox1.DisplayMember = "Country";
this.comboBox1.ValueMember = "Currency";
this.comboBox1.DataSource = lst;
}