我正在創建一個由3個窗體組成的簡單ATM。
Form 1
包含3個按鈕:平衡和提取。
Form 2
是餘額表格,當用戶點擊餘額按鈕時顯示。它顯示當前餘額,默認值爲5000,並顯示在文本框中。
Form 3
是提款表單,當用戶點擊提款按鈕時顯示。它包含用戶想要撤回金額的文本框以及Okay按鈕。如何修改窗體3中窗體2的值c sharp windows窗體應用程序
我的問題是如何在用戶提取金額時更改餘額的值?
我正在創建一個由3個窗體組成的簡單ATM。
Form 1
包含3個按鈕:平衡和提取。
Form 2
是餘額表格,當用戶點擊餘額按鈕時顯示。它顯示當前餘額,默認值爲5000,並顯示在文本框中。
Form 3
是提款表單,當用戶點擊提款按鈕時顯示。它包含用戶想要撤回金額的文本框以及Okay按鈕。如何修改窗體3中窗體2的值c sharp windows窗體應用程序
我的問題是如何在用戶提取金額時更改餘額的值?
您應該使用AtmModel類來存儲餘額。
public class AtmModel
{
public int Balance { get; set; }
public void WithdrawBalance (int amount)
{
this.Balance -= amount;
}
}
您的主窗體應該有一個存儲您的AtmModel的私有字段。這個模型在View的(Form)構造函數中被初始化。
從主窗體打開的每個附加窗體都應該有一個帶AtmModel參數的構造函數。
現在您可以將模型傳遞給其他表單,您可以訪問Balance屬性和WithdrawBalance方法。
所以basicly這樣的:
public partial class AtmMainView : Form
{
AtmModel model;
public AtmMainView()
{
InitializeComponent();
this.model = new AtmModel();
}
private void Withdraw_Click(object sender, System.EventArgs e)
{
AtmWithdrawView form = new AtmWithdrawView(this.model);
form.Show();
}
}
所以,當你點擊你的提款主窗體上按鈕,你所引用的AtmModel打開你的其他形式。在您的WithdrawForm您現在可以在確定按鈕上應用單擊事件,執行AtmModel.WithdrawBalance,並在您的文本框中聲明數量。
然而,這種設計並不完美,但它爲您提供瞭解決問題的方法。
欲瞭解更多信息,請閱讀:
Getting Started with Windows Forms
或
The Model-View-Controller(MVC) Pattern with C#/WinForms
在您的取款表格添加一個方法類似
public int GetWithdrawalValue()
{
int withdrawalValue;
int.TryParse(textboxWithdrawal.Text, out withdrawalValue);
return withdrawalValue;
}
顯示您的取款單模式
Form3 formWithdrawal = new Form3();
formWithdrawal.ShowDialog();
int valueToWithdraw = formWithdrawal.GetWithdrawalValue();
這應該做的伎倆。
謝謝@stefankmitph – Ricardo 2015-03-04 11:41:03
謝謝主席先生...... – Ricardo 2015-03-04 11:31:34
先生我應該如何去顯示和文本框設置的默認值5000平衡形式? – Ricardo 2015-03-04 12:13:46
從現在開始你有一個模型,它在所有表單之間共享。您可以訪問它的Balance屬性。所以在你的模型構造函數中,你可以設置this.Balance = 5000然後在你的平衡形式中,你可以設置textbox.text = this.model.Balance。 使用數據綁定的更好的做法,但如果您不熟悉它,那麼就堅持我之前提到的。 – 2015-03-04 13:13:05