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

Mob*_*bin 3 c# winforms

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

flq*_*flq 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; } }
Run Code Online (Sandbox Code Playgroud)

然后,将此结构实例化为例如表单的属性...

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"}
            }
        }
    };
Run Code Online (Sandbox Code Playgroud)

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

  • 第一个BS绑定到Countries属性.
  • 第二个BS绑定到第一个(DataSource = firstBS),其DataMember应该是"Cities".

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

  • 1st:DataSource =第一个BS,DisplayMember ="Name"
  • 第二名:DataSource =第二名BS,DisplayMember ="姓名"

你应该做得很好.