छोड़ते हैं, मैंने Databound Windows Forms control does not recognize change until losing focus में उत्तर देखा।सी # डाटाबेस विंडोज फॉर्म नियंत्रण तब तक मूल्य बनाए रखता है जब तक आप फ़ील्ड
लेकिन यह मेरे लिए सवाल का पूरी तरह उत्तर नहीं देता है। मेरे पास एक ही स्थिति है। 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();
}
यह बिल्कुल सही था ... आप नहीं जानते कि यह समस्या मुझे कितनी देर तक पागल कर रही है। धन्यवाद। यह बहुत आसान लगता है, इसे वापस देखकर, लेकिन सभी "विशेषज्ञ", यहां तक कि माइक्रोसॉफ्ट से भी, मैंने यह भी पूछा है कि इससे भी डूब गया था। अच्छा जॉब! – Jerry
_ "प्रॉपर्टी विंडो -> (डेटा बाइंडिंग्स) -> (एडवांस्ड) ... ... ड्रॉपप्रॉपलिस्ट में ऑनप्रॉपर्टी चेंज में सेट करें ... "_ - ओएमजी मैं कभी नहीं जानता था कि वहां था! मेरी इच्छा है कि मैं आपको एक अरब बार अच्छा सर दे सकता हूं!: डी – MickyD