我正在寫在C#的WinForms程序並沒有被綁定到實體框架對象TextBox
:在button_Click的代碼調用行爲不同於實際點擊
BindingList<Settings> bindingList = BillContext.Settings.Local.ToBindingList();
field6TextBox.DataBindings.Add("Text", bindingList, "CustomerField6");
我創建了一個保存按鈕保存更改到數據庫:如果我的保存按鈕點擊
private void saveCustomerFields_Click(object sender, EventArgs e){
BillContext.SaveChanges();
}
一切工作正常,但如果我使用,我已經爲保存按鈕創建的快捷鍵:
private void field6TextBox_KeyDown(object sender, KeyEventArgs e){
if(e.KeyData.Equals(Keys.Enter))
saveCustomerFields_Click(sender, e);
}
和
private void MainForm_KeyDown(object sender, KeyEventArgs e){
if(e.KeyData == (Keys.Control | Keys.S)){
saveCustomerFields_Click(sender, e);
}
}
雖然節省單擊事件處理程序被調用,但BillContext.Settings.Local
不會改變,它會導致未保存到數據庫中的變化。
點擊和按鈕點擊事件句柄的代碼調用如何產生不同的後果(考慮到我不使用方法輸入)?以及我如何使我的快捷鍵工作?
總之,它不應該。 SaveChanges是做什麼的? – Sayse
'BillContext'是我的類,它擴展了實體框架'DbContext'。它將此上下文中所做的所有更改保存到底層數據庫。 – raven