c#窗体列表框(combobox)应用——省市区列表选择实例
效果如下:
designer.cs代码如下:
using System.Collections.Generic;
namespace 删除
{
public partial class 省市区选择
{
private Dictionary<string, List<string>> provinceCityDictionary;
private Dictionary<string,List<string>> henanCities = new Dictionary<string, List<string>>();
private void InitializeComboBoxes()
{
// 将所有省份添加到第一个ComboBox
comboBoxProvinces.DataSource = new List<string>(provinceCityDictionary.Keys);
// 订阅省份ComboBox的SelectedIndexChanged事件
comboBoxProvinces.SelectedIndexChanged += comboBoxProvinces_SelectedIndexChanged;
comboBoxCities.SelectedIndexChanged += comboBoxCities_SelectedIndexChanged;
comboBoxProvinces.SelectedIndex = -1;
comboBoxCities.SelectedIndex = -1;
comboBoxqu.SelectedIndex = -1;
}
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(省市区选择));
this.comboBoxProvinces = new System.Windows.Forms.ComboBox();
this.comboBoxCities = new System.Windows.Forms.ComboBox();
this.comboBoxqu = new System.Windows.Forms.ComboBox();
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// comboBoxProvinces
//
this.comboBoxProvinces.DropDownStyle = System.Windows.Forms.ComboBoxStyle.Simple;
this.comboBoxProvinces.FormattingEnabled = true;
this.comboBoxProvinces.Location = new System.Drawing.Point(12, 7);
this.comboBoxProvinces.Name = "comboBoxProvinces";
this.comboBoxProvinces.Size = new System.Drawing.Size(205, 366);
this.comboBoxProvinces.TabIndex = 0;
this.comboBoxProvinces.SelectedIndexChanged += new System.EventHandler(this.comboBoxProvinces_SelectedIndexChanged);
//
// comboBoxCities
//
this.comboBoxCities.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxCities.FormattingEnabled = true;
this.comboBoxCities.Location = new System.Drawing.Point(223, 7);
this.comboBoxCities.Name = "comboBoxCities";
this.comboBoxCities.Size = new System.Drawing.Size(223, 20);
this.comboBoxCities.TabIndex = 1;
this.comboBoxCities.SelectedIndexChanged += new System.EventHandler(this.comboBoxCities_SelectedIndexChanged);
//
// comboBoxqu
//
this.comboBoxqu.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.comboBoxqu.FormattingEnabled = true;
this.comboBoxqu.Location = new System.Drawing.Point(457, 9);
this.comboBoxqu.Name = "comboBoxqu";
this.comboBoxqu.Size = new System.Drawing.Size(229, 20);
this.comboBoxqu.TabIndex = 2;
this.comboBoxqu.SelectedIndexChanged += new System.EventHandler(this.comboBoxqu_SelectedIndexChanged);
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(37, 465);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(622, 21);
this.textBox1.TabIndex = 3;
//
// 省市区选择
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(713, 519);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.comboBoxqu);
this.Controls.Add(this.comboBoxCities);
this.Controls.Add(this.comboBoxProvinces);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "省市区选择";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "省市区选择";
this.ResumeLayout(false);
this.PerformLayout();
}
private void InitializeDictionary()
{
henanCities = new Dictionary<string, List<string>>
{
{ "郑州市", new List<string>
{
"中原区", "二七区", "管城回族区", "金水区", "上街区", "惠济区",
"中牟县", "巩义市", "荥阳市", "新密市", "新郑市", "登封市"
}
},
{ "洛阳市", new List<string>
{
"西工区", "老城区", "瀍河回族区", "涧西区", "吉利区", "洛龙区",
"孟津县", "新安县", "栾川县", "嵩县", "汝阳县", "宜阳县",
"洛宁县", "伊川县", "偃师市"
}
},
{ "开封市", new List<string>
{
"龙亭区", "顺河回族区", "鼓楼区", "禹王台区", "祥符区",
"杞县", "通许县", "尉氏县", "兰考县"
}
},
// ... 其他城市和区县
{ "安阳市", new List<string>
{
"文峰区", "北关区", "殷都区", "龙安区",
"安阳县", "汤阴县", "滑县", "内黄县",
"林州市"
}
},
{ "平顶山市", new List<string>
{
"新华区", "卫东区", "石龙区", "湛河区",
"宝丰县", "叶县", "鲁山县", "郏县",
"舞钢市", "汝州市"
}
},
{ "鹤壁市", new List<string>
{
"浚县", "淇县", "淇滨区", "山城区", "鹤山区"
}
},
{ "新乡市", new List<string>
{
"红旗区", "卫滨区", "牧野区", "凤泉区",
"卫辉市", "辉县市", "新乡县", "获嘉县", "原阳县", "延津县", "封丘县", "长垣市"
}
},
{ "焦作市", new List<string>
{
"山阳区", "中站区", "解放区", "马村区",
"沁阳市", "孟州市", "修武县", "博爱县", "武陟县", "温县"
}
},
{ "濮阳市", new List<string>
{
"华龙区", "濮阳县", "清丰县", "南乐县", "台前县", "范县"
}
},
{ "许昌市", new List<string>
{
"魏都区", "建安区", "禹州市", "长葛市", "鄢陵县", "襄城县"
}
},
{ "漯河市", new List<string>
{
"郾城区", "源汇区", "召陵区", "舞阳县", "临颍县"
}
},
{ "三门峡市", new List<string>
{
"湖滨区", "陕州区", "灵宝市", "义马市", "渑池县", "卢氏县"
}
},
{ "南阳市", new List<string>
{
"宛城区", "卧龙区", "邓州市", "南召县", "西峡县", "方城县", "镇平县",
"内乡县", "淅川县", "社旗县", "唐河县", "新野县", "桐柏县"
}
},
{ "商丘市", new List<string>
{
"睢阳区", "梁园区", "永城市", "民权县", "宁陵县", "柘城县", "虞城县", "夏邑县", "睢县"
}
},
{ "信阳市", new List<string>
{
"浉河区", "平桥区", "固始县", "罗山县", "光山县", "潢川县", "淮滨县", "商城县", "新县", "息县"
}
},
{ "周口市", new List<string>
{
"川汇区", "项城市", "鹿邑县", "扶沟县", "西华县", "商水县", "沈丘县", "淮阳区", "郸城县", "太康县"
}
},
{ "驻马店市", new List<string>
{
"驿城区", "新蔡县", "西平县", "遂平县", "平舆县", "上蔡县", "正阳县", "泌阳县", "确山县", "汝南县"
}
},
{ "济源市", new List<string>
{
// 济源市为河南省直辖县级市,下辖街道和镇,而非区
"天坛街道", "沁园街道", "北海街道", "济水街道", "玉泉街道",
"五龙口镇", "克井镇", "邵原镇", "坡头镇", "轵城镇", "承留镇", "大峪镇", "梨林镇", "思礼镇", "王屋镇", "下冶镇"
}
// 注意:济源市作为直辖县级市,其行政划分与其他地级市下的区有所不同,此处列出的是其下辖的街道和镇
},
// 添加更多城市和区
};
provinceCityDictionary = new Dictionary<string, List<string>>
{
{ "北京市", new List<string> { "北京市" } },
{ "天津市", new List<string> { "天津市" } },
{ "上海市", new List<string> { "上海市" } },
{ "重庆市", new List<string> { "重庆市" } },
{ "河北省", new List<string> { "石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市" } },
{ "山西省", new List<string> { "太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市" } },
{ "辽宁省", new List<string> { "沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市" } },
{ "吉林省", new List<string> { "长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城市", "延边朝鲜族自治州" } },
{ "黑龙江省", new List<string> { "哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市", "大兴安岭地区" } },
{ "江苏省", new List<string> { "南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市" } },
{ "浙江省", new List<string> { "杭州市", "宁波市", "温州市", "嘉兴市", "湖州市", "绍兴市", "金华市", "衢州市", "舟山市", "台州市", "丽水市" } },
{ "安徽省", new List<string> { "合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "六安市", "亳州市", "池州市", "宣城市" } },
{ "福建省", new List<string> { "福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市", "龙岩市", "宁德市" } },
{ "江西省", new List<string> { "南昌市", "景德镇市", "萍乡市", "九江市", "新余市", "鹰潭市", "赣州市", "吉安市", "宜春市", "抚州市", "上饶市" } },
{ "山东省", new List<string> { "济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "临沂市", "德州市", "聊城市", "滨州市", "菏泽市" } },
{ "河南省", new List<string> { "郑州市", "开封市", "洛阳市", "平顶山市", "安阳市", "鹤壁市", "新乡市", "焦作市", "濮阳市", "许昌市", "漯河市", "三门峡市", "南阳市", "商丘市", "信阳市", "周口市", "驻马店市", "济源市" } },
{ "湖北省", new List<string> { "武汉市", "黄石市", "十堰市", "宜昌市", "襄阳市", "鄂州市", "荆门市", "孝感市", "荆州市", "黄冈市", "咸宁市", "随州市", "恩施土家族苗族自治州" } },
{ "湖南省", new List<string> { "长沙市", "株洲市", "湘潭市", "衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "郴州市", "永州市", "怀化市", "娄底市", "湘西土家族苗族自治州" } },
{ "广东省", new List<string> { "广州市", "韶关市", "深圳市", "珠海市", "汕头市", "佛山市", "江门市", "湛江市", "茂名市", "肇庆市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市", "清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市" } },
{ "广西壮族自治区", new List<string> { "南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市" } },
{ "海南省", new List<string> { "海口市", "三亚市", "三沙市", "儋州市", "五指山市", "琼海市", "文昌市", "万宁市", "东方市", "定安县", "屯昌县", "澄迈县", "临高县", "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县", "保亭黎族苗族自治县", "琼中黎族苗族自治县" } },
{ "四川省", new List<string> { "成都市", "自贡市", "攀枝花市", "泸州市", "德阳市", "绵阳市", "广元市", "遂宁市", "内江市", "乐山市", "南充市", "眉山市", "宜宾市", "广安市", "达州市", "雅安市", "巴中市", "资阳市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州" } },
{ "贵州省", new List<string> { "贵阳市", "六盘水市", "遵义市", "安顺市", "毕节市", "铜仁市", "黔西南布依族苗族自治州", "黔东南苗族侗族自治州", "黔南布依族苗族自治州" } },
{ "新疆维吾尔自治区", new List<string> { "乌鲁木齐市", "克拉玛依市", "吐鲁番市", "哈密市", "阿克苏地区", "喀什地区", "和田地区", "昌吉回族自治州", "博尔塔拉蒙古自治州", "巴音郭楞蒙古自治州", "克孜勒苏柯尔克孜自治州", "伊犁哈萨克自治州", "塔城地区", "阿勒泰地区" } },
未显示完全继续添加其他省城市和区县...
};
}
#endregion
private System.Windows.Forms.ComboBox comboBoxProvinces;
private System.Windows.Forms.ComboBox comboBoxCities;
private System.Windows.Forms.ComboBox comboBoxqu;
private System.Windows.Forms.TextBox textBox1;
}
}
form1.cs代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 删除
{
public partial class 省市区选择 : Form
{
public 省市区选择()
{
InitializeComponent();
InitializeDictionary();
InitializeComboBoxes();
}
private void comboBoxProvinces_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBoxProvinces.SelectedIndex != -1)
{
string selectedProvince = comboBoxProvinces.SelectedItem.ToString();
textBox1.Text = selectedProvince ;//文本框显示省
if (provinceCityDictionary.ContainsKey(selectedProvince))
{
// 将选中的省份对应的市添加到第二个ComboBox
comboBoxCities.DataSource = new List<string>(provinceCityDictionary[selectedProvince]);
// comboBoxCities.SelectedIndex = -1;//选择省时不自动弹出市
}
else
{
// 如果没有找到对应的省份,清空市ComboBox
comboBoxCities.DataSource = new List<string>();
}
}
}
private void comboBoxCities_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBoxCities.SelectedIndex != -1)
{
string selectedcity = comboBoxCities.SelectedItem.ToString();
if (comboBoxProvinces.SelectedItem.ToString()!= selectedcity)//避免出现天津市天津市
{
textBox1.Text = comboBoxProvinces.SelectedItem.ToString()+selectedcity;//文本框显示省市
}
if (henanCities.ContainsKey(selectedcity))
{
// 将选中的市对应的区添加到第三个ComboBox
comboBoxqu.DataSource = new List<string>(henanCities[selectedcity]);
}
else
{
// 如果没有找到对应的省份,清空市ComboBox
comboBoxqu.DataSource = new List<string>();
}
}
}
private void comboBoxqu_SelectedIndexChanged(object sender, EventArgs e)
{
string selectedqu = comboBoxqu.SelectedItem.ToString();
textBox1.Text = comboBoxProvinces.SelectedItem.ToString() + comboBoxCities.SelectedItem.ToString() + selectedqu;//文本框显示省市
}
}
}
原文地址:https://blog.csdn.net/yongshiqq/article/details/144011181
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!