button_Click 的代码调用与实际点击行为不同
in code invocation of button_Click behaves differently than actually clicking
我正在用 c# winforms 编写程序,并且有一个 TextBox
绑定到 entity framework 对象:
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
并没有改变,这导致更改没有保存到数据库中。
单击和按钮单击事件句柄的代码调用如何产生不同的结果(考虑到我不使用方法输入)?以及如何让我的快捷键起作用?
尝试替换
saveCustomerFields_Click(sender, e);
和
saveCustomerFields.PerformClick();
我正在用 c# winforms 编写程序,并且有一个 TextBox
绑定到 entity framework 对象:
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
并没有改变,这导致更改没有保存到数据库中。
单击和按钮单击事件句柄的代码调用如何产生不同的结果(考虑到我不使用方法输入)?以及如何让我的快捷键起作用?
尝试替换
saveCustomerFields_Click(sender, e);
和
saveCustomerFields.PerformClick();