gpt4 book ai didi

c# - DataBind 列表框选择的项目到文本框

转载 作者:太空狗 更新时间:2023-10-29 21:03:31 26 4
gpt4 key购买 nike

我将 ListBox 数据绑定(bind)到用户列表(集合):

    usersListBox.DataSource = null;
usersListBox.DataSource = _users;
usersListBox.DisplayMember = "Name";
usersListBox.ValueMember = "Id";

现在我希望所选项目的属性显示在不同的文本框中,所以我进行绑定(bind):

nameTextBox.DataBindings.Add("Text", usersListBox.SelectedItem, "Name");
loginTextBox.DataBindings.Add("Text", usersListBox.SelectedItem, "Login");

当表单加载时,我可以看到所选项目的值出现在文本框中,但是当列表框中的所选项目发生变化时,文本框中的值仍然相同。我是否必须捕获列表框的 selectedItemChanged 并重复绑定(bind)文本框?或者我遗漏了一些东西,文本框中的值应该随着所选项目的改变而改变?

最佳答案

如果有人需要答案:您必须创建绑定(bind)源对象并为其分配列表框和文本框:

 usersBindingSource = new BindingSource();
usersBindingSource.DataSource = _presenter.Users;

usersListBox.DataSource = usersBindingSource;
usersListBox.DisplayMember = "Name";
usersListBox.ValueMember = "Id";

nameTextBox.DataBindings.Add("Text", usersBindingSource, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
loginTextBox.DataBindings.Add("Text", usersBindingSource, "Login", true, DataSourceUpdateMode.OnPropertyChanged);

关于c# - DataBind 列表框选择的项目到文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com