data['text'] = data['text'].apply(first_k)
当我单击SaveDinosaur按钮时,我似乎无法保存用户输入,然后让我单击“显示所有恐龙”按钮,然后在列表框内显示。我想知道如何将保存的项目添加到带有foreach语句的列表框中。当我尝试其他任何方法时,它说它不起作用,因为它被另一个类方法中的get set方法所使用。
添加图片以供说明:
答案 0 :(得分:2)
在这种情况下,我将使用BindingSource,因为它将正确更新“已连接”的控件。
public partial class MyForm : Form
{
private List<Dino> _dinoList;
BindingSource _bindingSource;
public MyForm()
{
InitializeComponent();
_dinoList = new List<Dino>();
_bindingSource = new BindingSource();
_bindingSource.DataSource = _dinoList;
lbDinos.DisplayMember = nameof(Dino.Name);
lbDinos.DataSource = _bindingSource;
}
private void btnAddData_Click(object sender, EventArgs e)
{
_dinoList.Add(new Dino(txtDinoName.Text));
// Reload data
_bindingSource.ResetBindings(false);
// Select last inserted
lbDinos.SelectedIndex = (lbDinos.Items.Count - 1);
}
}
public class Dino
{
public string Name { get; set; }
public Dino(string name)
{
Name = name;
}
}