【发布时间】:2016-03-15 13:55:31
【问题描述】:
您好,我在这个继承项目上真的需要帮助。当用户在组合框中选择一个值时,我需要我的表单显示每个标签中的所有数据。我得到了列表中声明的所有数据,但我不知道为什么当我选择值时标签仍然显示零。
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void accountNumComboBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (accountNumComboBox.SelectedIndex == 0)
{
SavingsAccount savings = new SavingsAccount();
ownerIdLabel.Text = savings.OwnerId;
balanceLabel.Text = savings.Balance.ToString("c");
interestLabel.Text = (string.Format("{0}%", savings.Interest));
}
}
private void Form1_Load(object sender, EventArgs e)
{
List<SavingsAccount> savings = new List<SavingsAccount>();
SavingsAccount savings1 = new SavingsAccount();
savings1.OwnerId = "0001";
savings1.AccountNumber = "31-1000";
savings1.Balance = 100m;
savings1.Interest = 0.01;
SavingsAccount savings2 = new SavingsAccount();
savings2.OwnerId = "0002";
savings2.AccountNumber = "31-1001";
savings2.Balance = 1000m;
savings2.Interest = 0.0125;
这是我的 SavingsAccount 类
class SavingsAccount : BankAccount
{
//field
private double _interest;
//constructor
public SavingsAccount(string ownerID, string acctNumber, decimal balance, double interest)
: base(ownerID, acctNumber, balance)
{
_interest = interest;
}
//interest property
public double Interest
{
get { return _interest; }
set { _interest = value; }
}
public SavingsAccount()
{
}
}
感谢您的帮助。谢谢!
【问题讨论】:
-
你的
Form1_Load和accountNumComboBox_SelectedIndexChanged里面的变量没有关系。 -
这是一个根本性的误解,并且范围太广,无法在答案中解释。总而言之,您在表单加载事件中使用的
savings变量与您的索引更改事件中的变量没有任何关系,因为它们具有相同的名称。您也没有显示向列表中添加任何内容。 -
您错过了
Form1_Load方法中可能有用的大量代码。问题的症结在于您需要保留对您创建的savings列表的引用,并重新使用列表中的元素——调用new SavingsAccount()不会重新使用现有的。
标签: c# list class inheritance bank