问题描述
有谁知道一个很好的、可用的类,这里的每个人都可以从中受益,用于在表单上为 Country 和 State 字段填充 ComboBox
控件?
Does anyone know of a nice, usable class that everyone on here could benefit from to use in populating the ComboBox
controls on a form for the Country and State fields?
我讨厌每次都重新发明轮子,而且可能有人在某处做了一件非常好的工作.
I hate having to reinvent the wheel every time, and someone has probably done a very nice piece of work somewhere.
如果现有类可以在选择国家/地区时返回状态选项列表,则加分!
Bonus points if the existing class can return a list of State options whenever the Country is selected!
我目前正在为 Windows 窗体(非 Web 应用程序)开发此项目,此项目无法从网站中提取.
I'm currently developing this for a Windows Form (non-web application), and this project can't pull from a website.
推荐答案
好的,所以我做了一个.
OK, so I made one.
我把它构建的很好而且通用,所以任何人都应该能够使用它
I built it nice and generic, so anyone should be able to use it
底部有一个名为US_States
的类,作为一个容器来存储State Name和State Abbreviation.
There is a class at the bottom called US_States
that is used as a container to store the State Name and State Abbreviation.
static class StateArray {
static List<US_State> states;
static StateArray() {
states = new List<US_State>(50);
states.Add(new US_State("AL", "Alabama"));
states.Add(new US_State("AK", "Alaska"));
states.Add(new US_State("AZ", "Arizona"));
states.Add(new US_State("AR", "Arkansas"));
states.Add(new US_State("CA", "California"));
states.Add(new US_State("CO", "Colorado"));
states.Add(new US_State("CT", "Connecticut"));
states.Add(new US_State("DE", "Delaware"));
states.Add(new US_State("DC", "District Of Columbia"));
states.Add(new US_State("FL", "Florida"));
states.Add(new US_State("GA", "Georgia"));
states.Add(new US_State("HI", "Hawaii"));
states.Add(new US_State("ID", "Idaho"));
states.Add(new US_State("IL", "Illinois"));
states.Add(new US_State("IN", "Indiana"));
states.Add(new US_State("IA", "Iowa"));
states.Add(new US_State("KS", "Kansas"));
states.Add(new US_State("KY", "Kentucky"));
states.Add(new US_State("LA", "Louisiana"));
states.Add(new US_State("ME", "Maine"));
states.Add(new US_State("MD", "Maryland"));
states.Add(new US_State("MA", "Massachusetts"));
states.Add(new US_State("MI", "Michigan"));
states.Add(new US_State("MN", "Minnesota"));
states.Add(new US_State("MS", "Mississippi"));
states.Add(new US_State("MO", "Missouri"));
states.Add(new US_State("MT", "Montana"));
states.Add(new US_State("NE", "Nebraska"));
states.Add(new US_State("NV", "Nevada"));
states.Add(new US_State("NH", "New Hampshire"));
states.Add(new US_State("NJ", "New Jersey"));
states.Add(new US_State("NM", "New Mexico"));
states.Add(new US_State("NY", "New York"));
states.Add(new US_State("NC", "North Carolina"));
states.Add(new US_State("ND", "North Dakota"));
states.Add(new US_State("OH", "Ohio"));
states.Add(new US_State("OK", "Oklahoma"));
states.Add(new US_State("OR", "Oregon"));
states.Add(new US_State("PA", "Pennsylvania"));
states.Add(new US_State("RI", "Rhode Island"));
states.Add(new US_State("SC", "South Carolina"));
states.Add(new US_State("SD", "South Dakota"));
states.Add(new US_State("TN", "Tennessee"));
states.Add(new US_State("TX", "Texas"));
states.Add(new US_State("UT", "Utah"));
states.Add(new US_State("VT", "Vermont"));
states.Add(new US_State("VA", "Virginia"));
states.Add(new US_State("WA", "Washington"));
states.Add(new US_State("WV", "West Virginia"));
states.Add(new US_State("WI", "Wisconsin"));
states.Add(new US_State("WY", "Wyoming"));
}
public static string[] Abbreviations() {
List<string> abbrevList = new List<string>(states.Count);
foreach (var state in states) {
abbrevList.Add(state.Abbreviations);
}
return abbrevList.ToArray();
}
public static string[] Names() {
List<string> nameList = new List<string>(states.Count);
foreach (var state in states) {
nameList.Add(state.Name);
}
return nameList.ToArray();
}
public static US_State[] States() {
return states.ToArray();
}
}
class US_State {
public US_State() {
Name = null;
Abbreviations = null;
}
public US_State(string ab, string name) {
Name = name;
Abbreviations = ab;
}
public string Name { get; set; }
public string Abbreviations { get; set; }
public override string ToString() {
return string.Format("{0} - {1}", Abbreviations, Name);
}
}
这篇关于标准化的美国国家数组和国家数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!