我正在构建一个程序,该程序允许我通过从一组旅行中选择数据来提取数据,并将所有找到的项目作为该旅行的一部分填充到列表框中。当我从列表框中选择一个项目时,我希望它填充一系列允许我编辑每个字段的文本框。
这是我的问题代码在表单中的位置(tripChoose 是组合框,listExpenses 是列表框):
private void tripChoose_SelectedIndexChanged(object sender, EventArgs e)
{
IEnumerable<TripExpense> selectedExpenses = roster.ToFind((string)tripChoose.SelectedItem);
foreach (TripExpense item in selectedExpenses)
listExpenses.Items.Add(item);
}
private void listExpenses_SelectedIndexChanged(object sender, EventArgs e)
{
specificExpenses = (TripExpense)roster.TripFind((string)listExpenses.SelectedItem);
tripTextBox.Text = specificExpenses.Trip;
tripTextBox.Enabled = false;
descriptionTextBox.Text = specificExpenses.Description;
amountTextBox.Text = specificExpenses.Amount.ToString();
paymentMethodTextBox.Text = specificExpenses.PaymentMethod;
dateExpenseTimePicker.Value = specificExpenses.Date;
dateExpenseTimePicker.Enabled = true;
noteTextBox.Text = specificExpenses.Note;
}
JIT 调试器让我知道我将对象隐式转换为字符串
我试过使用这样的 ToString 方法:
private void tripChoose_SelectedIndexChanged(object sender, EventArgs e)
{
IEnumerable<TripExpense> selectedExpenses = roster.ToFind((string)tripChoose.SelectedItem);
foreach (TripExpense item in selectedExpenses)
listExpenses.Items.Add(item.ToString());
}
我认为我在正确的轨道上,因为我收到一个错误,告诉我对象引用未设置为对象的实例。