पिछले केंद्रित नियंत्रण का ट्रैक रखने के लिए कोई संपत्ति या कार्यक्षमता में कोई निर्मित नहीं है। जैसा कि आपने बताया है, जब भी बटन क्लिक किया जाता है, तो यह ध्यान केंद्रित करेगा। यदि आप उस टेक्स्टबॉक्स का ट्रैक रखना चाहते हैं जो इससे पहले केंद्रित था, तो आपको इसे स्वयं करना होगा। इस बारे में जा रहा होगा अपने फार्म का है कि वर्तमान में ध्यान केंद्रित पाठ बॉक्स नियंत्रण के लिए एक संदर्भ रखती है करने के लिए एक वर्ग के स्तर के चर जोड़ने के लिए की
एक ही रास्ता:
private Control _focusedControl;
और फिर से प्रत्येक के लिए GotFocus
घटना में अपने
private void TextBox_GotFocus(object sender, EventArgs e)
{
_focusedControl = (Control)sender;
}
जब भी एक बटन क्लिक किए जाने के रूप में butto के बजाय अपने प्रश्न में दिखाया गया है अब, (तुम क्यों MouseDown
घटना का उपयोग कर रहे हैं: पाठ बॉक्स नियंत्रण, तो आप उस पाठ बॉक्स के साथ _focusedControl
चर का अद्यतन होगा ? N के Click
घटना), तो आपको उस वर्ग स्तर के चर में सहेजा गया है पहले से केंद्रित पाठ बॉक्स नियंत्रण के संदर्भ में उपयोग कर सकते हैं जैसे आप चाहें:
private void button1_Click(object sender, EventArgs e)
{
if (_focusedControl != null)
{
//Change the color of the previously-focused textbox
_focusedControl.BackColor = Color.Red;
}
}
स्रोत
2010-12-13 11:09:38
बटन टैब प्रेस के माध्यम से भी ध्यान केंद्रित कर सकता है। – 26071986