是否有任何方法可以在winforms中填充所有国家/地区的组合框和另一个与所选国家/地区的城市组合的组合框?

时间:2009-03-01 05:26:03

标签: c# winforms

C#中是否有构建程序用于制作一个名称为所有国家/地区的组合框或列表框,当选择一个国家/地区时,另一个组合框中是否填充了该国家/地区的城市?

2 个答案:

答案 0 :(得分:5)

当然有一个程序。 您可以从简单的数据结构开始:

public class Country
{
  public string Name { get; set; }
  public IList<City> Cities { get; set; }

  public Country()
  {
    Cities = new List<City>();
  }
}

public class City { public string Name { get; set; } }

然后,实例化这种结构,例如,成为你的形式的财产......

Countries =
  new List<Country>
    {
      new Country
        {
          Name = "Germany",
          Cities =
            {
              new City {Name = "Berlin"},
              new City {Name = "Hamburg"}
            }
        },
      new Country
        {
          Name = "England",
          Cities =
            {
              new City {Name = "London"},
              new City {Name = "Birmingham"}
            }
        }
    };

在您的表单中,实例化两个绑定源(BS):

  • 第一个BS绑定到国家 属性。
  • 第二个BS绑定到第一个(DataSource = firstBS),其DataMember应该是“Cities”。

现在你需要两个下拉菜单:

  • 1st:DataSource = first BS,DisplayMember =“Name”
  • 2nd:DataSource = second BS,DisplayMember =“Name”

你应该已经完成​​了。

答案 1 :(得分:0)

没有这样的程序。我建议你制作一个组合框并用国家填充它,另一个用城市选择一个国家。这样,您就可以完全控制国家和城市在组合框中的显示位置。