Я видел ответ в Элемент управления Windows Forms с привязкой к базе данных не распознает изменения до потери фокуса.
Но это не полностью отвечает на меня. У меня такая же ситуация. На ToolStrip_click я просматриваю все свои элементы управления, и я принудительно нажимаю "WriteValue()", но до сохранения все еще возвращается к предыдущему значению. Может ли кто-нибудь предложить, как я могу это исправить? Я сделал это неправильно?
(см. код для текущего (нерабочего) решения.)
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
// Make sure that all items have updated databindings.
foreach (Control C in this.Controls)
{
foreach (Binding b in C.DataBindings)
{
// Help: this doesn't seem to be working.
b.WriteValue();
}
}
}
Теперь код намного проще, но это значительный взлом. Я был бы очень рад узнать, есть ли для этого более "правильное" исправление.
private void menuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
// Make sure that all text fields have updated by forcing everything
// to lose focus except this lonely little label.
label44.Focus();
}