من با کد زیر لیست تمام کشور ها را بدست می آورم :
public static List<string> getCountryList()
{
List<string> cultureList = new List<string>();
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);
foreach (CultureInfo culture in cultures)
{
if (culture.LCID != 127)
{
RegionInfo region = new RegionInfo(culture.LCID);
//RegionInfo region = new RegionInfo(culture.LCID);
if (!(cultureList.Contains(region.EnglishName)))
{
cultureList.Add(region.EnglishName);
}
}
}
cultureList.Sort(); //put the <strong class="highlight">country</strong> list in alphabetic order.
return cultureList;
}
با اینکار ایران در لیست هست اما این وسط اسم اسرائیل اضافی بود که من زمان پر کردن combobox به این ترتیب عمل کردم :
foreach (string str in getCountryList())
{
if (str != "Israel")
comboBox1.Items.Add(str);
}
اما اگر باز هم ایران برای شما نیامد می توانید حلقه بالا را به صورت زیر تغییر دهید :
foreach (string str in getCountryList())
{
if (str == "Iraq" && comboBox1.Items[comboBox1.Items.Count - 1] != "Iran") // اگر ایران وارد نشده بود
comboBox1.Items.Add("Iran"); // ایران بعد از عراق قرار می گیرد
if (str != "Israel")
comboBox1.Items.Add(str);
}