界面:属性DropDownStyle选DropDownList
XML:
1.定义字典 /// <summary> /// 省字典 /// </summary> Dictionary<string, string> Dic_Province = new Dictionary<string, string>(); /// <summary> /// 市字典 /// </summary> Dictionary<string, string> Dic_City = new Dictionary<string, string>(); 2.给下拉框添加“请选择” if (!Dic_Province.ContainsKey("0")) { Dic_Province.Add("0", "请选择");} if (!Dic_City.ContainsKey("0")) { Dic_City.Add("0", "请选择"); } 3.加载XML XDocument xdoc = XDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "XML/province.xml"); XElement Ixele = xdoc.Root; //获取根元素 //获取ProvinceName IEnumerable<XElement> Ielements = from ele in Ixele.Elements("Province").Elements("ProvinceName") select ele; //获取与省相关的CityName IEnumerable<XElement> Ielements = from ele in Ixele.Elements("Province").Elements("City").Elements("CityName") where ele.Parent.Parent.Element("ProvinceName").Value == IProvince select ele; 4.遍历添加到字典,市省略 foreach (var item in Ielements) { IProvince = item.Value; IBH = item.Attribute("id").Value; if (!Dic_Province.ContainsKey(IBH)) { Dic_Province.Add(IBH, IProvince); } } 5.绑定字典数据到下拉框cbProvince //绑定省,市省略 BindingSource BS = new BindingSource(); BS.DataSource = Dic_Province; cbProvince.DataSource = BS; cbProvince.DisplayMember = "Value"; cbProvince.ValueMember = "Key"; 注意点: BindingSource 需实例化两个。 //绑定市 string IProvince = cbProvince.Text;//先获取省text Dic_City.Clear();//绑定前先清空 触发级联绑定相应的市,在cbProvince_DropDownClosed中绑定市