C# winfrom省市联动
1、打开VS 新建一个winform窗体项目,在winfrom上加上两个label和combobox

2、双击窗体,在Load事件绑定第一个Combobox1的数据源,代码如下:
private void RibbonForm1_Load(object sender, EventArgs e) { comboBoxEx1.DataSource = new string[] { "浙江", "江苏" }; comboBoxEx1.SelectedIndex = 0; }
3、回到设计界面,选中Combobox1,点击事件按钮,在事件中找到SelectedIndexChanged的时间,双击,进入代码编辑页面。

4、当combobox1索引发生改变时,conbobox2依据combobox1索引进行数据的绑定。这样就使得两个combobox相关联在一起。
private void comboBoxEx1_SelectedIndexChanged(object sender, EventArgs e)
{
string[][] str={new string[]{"杭州市","宁波市"},
new string[]{"南京市","南通市"}};
switch (comboBoxEx1.SelectedIndex)
{
case 0:
comboBoxEx2.DataSource = str[comboBoxEx1.SelectedIndex]; break;
case 1:
comboBoxEx2.DataSource = str[comboBoxEx1.SelectedIndex]; break;
}
}

5、点击,调试后。选择不同的省份就对应不同的城市。


6、如果是三级联动的话,在第二个ConboBox选择SelectedIndexChanged事件,添加如下代码,就可以实现第二个 ConboBox和第三个ConboBox的关联。
switch (comboBox2.SelectedIndex) { case 0: comboBox3.DataSource = str[comboBox23.SelectedIndex]; break; case 1: comboBox3.DataSource = str[comboBox23.SelectedIndex]; break; case 2: comboBox3.DataSource = str[comboBox23.SelectedIndex]; break; }