我有以下代碼片段,它允許我從列表中的對象拉出屬性並將它們分配給其他形式的變量。但是,我需要能夠從其他形式的變量中提取數據並使用它們來設置給定對象的屬性。作業如何將值從一種形式傳遞給另一種形式的列表中的對象
我的班級帳戶用於填充我的列表帳戶。在我的下一個表單AccountMenu上,我有一個類Variables1,其中包含可用變量,這些變量在我的其他表單中用於跟蹤檢查餘額並節省餘額。從AccountMenu註銷時,我希望能夠將Variables1中的值傳遞給最初使用的帳戶。
我知道如何將變量從一種表單傳遞給另一種表單,但我不確定如何在原始表單上自動更新表單,而無需按鈕。因此,我看到的解決方案是我的AccountMenu表單上有一個按鈕,通過this.close()將用戶「記錄」出來。此外,我猜想,在該按鈕下,我需要一些代碼將變量作爲屬性分配給對象。我只是不確定如何訪問對象的設置屬性,因爲它是用下面的代碼動態調用的。
有人可以幫我弄清楚我需要做什麼嗎?下面是一些相關的代碼,以便您可以看到我如何設置事物。我只是不確定如何從其他窗體訪問「匹配」以更新該特定的對象屬性。謝謝任何人,誰可以幫忙!
//variable that will be used to check textbox1.Text
string stringToCheck;
//array of class Account
List<Account> accounts = new List<Account>();
public MainMenu()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//set value to user's input
stringToCheck = textBox1.Text;
//set a var that only returns a value if the .Name already exists
var matches = accounts.FirstOrDefault(p => p.Name == stringToCheck);
//check through each element of the array
if (matches == null)
{
accounts.Add(new Account(stringToCheck));
textBox1.Text = "";
label3.Visible = true;
}
else if (matches != null)
{
//set variables in another form. not sure if these are working
Variables1.selectedAccount = matches.Name;
//is this calling the CheckBalance of the instance?
Variables1.selectedCheckBalance = matches.CheckBalance;
//same thing?
Variables1.selectedSaveBalance = matches.SaveBalance;
//switch to form
AccountMenu acctMenu = new AccountMenu();
this.Hide();
acctMenu.Show();
}
}
謝謝你的答覆。一切似乎都有道理,似乎應該起作用。但是,我無法設置更新當前對象的代碼。我試圖使用下面的代碼,但「匹配」部分不會從一個button_Click事件填充到另一個:matches.CheckBalance = Variables1.selectedCheckBalance; matches.SaveBalance = Variables1.selectedSaveBalance; – 2014-09-29 05:31:48
其實,我懂了。我需要做的是使用另一個檢查帳戶列表的實例,但這次是爲Variables1.selectedAccount,如下所示:var updateAccount = Account.accounts.FirstOrDefault(p => p.Name == Variables1.selectedAccount);之後,我只需要將matches.CheckBalance更改爲updateAccount.CheckBalance,併爲SaveBalance執行相同操作。非常感謝你的幫助! – 2014-09-29 05:49:30