2013-06-04 6 views
9

मैं अपने विंडोज़ फॉर्म एप्लिकेशन में "खोज" टेक्स्टबॉक्स नियंत्रण पर ध्यान केंद्रित करने की कोशिश कर रहा हूं। यह टेक्स्टबॉक्स उपयोगकर्ता नियंत्रण के अंदर है, जो एक पैनल के अंदर है जो विंडोज़ फॉर्म के अंदर है (यदि यह महत्वपूर्ण है)।विंडोज़ फॉर्मों में नियंत्रण पर फ़ोकस कैसे करें

// 1 
this.ActiveControl = myTextBox; 

// 2 
myTextBox.Focus(); 

// 3 
myTextBox.Select(); 

न तो उन्हें काम करने के लिए लगता है की: मैं 3 तरीकों जो मैं मिल सकता है की कोशिश की। मेरा मतलब है उदाहरण के लिए जब मैं पहली कोशिश करता हूं, सक्रिय नियंत्रण वास्तव में मेरे टेक्स्टबॉक्स पर सेट होता है, लेकिन जब मैं कीबोर्ड पर कुछ लिखने की कोशिश करता हूं, तो टेक्स्टबॉक्स इसे स्वीकार नहीं करता है और मुझे फोकस प्राप्त करने के लिए पहले टेक्स्टबॉक्स के अंदर क्लिक करना होगा। यह सभी विधियों के साथ समान है। क्या मुझे कुछ याद आ रही है?

उत्तर

16

ठीक है, अंत में जवाब मिला:

जैसा कि मैंने कहा मेरे पाठ बॉक्स उपयोगकर्ता नियंत्रण जो पैनल जो एक रूप के अंदर है अंदर है अंदर है। जब मुझे अपने उपयोगकर्ता नियंत्रण की आवश्यकता होती है तो मैं इसे पैनल में जोड़ता हूं।

panel.Controls.Add(myUserControl); 
myUserControl.Focus(); 

और फिर मेरे उपयोगकर्ता नियंत्रण में: मेरी शीर्ष के रूप में : मेरे पाठ बॉक्स पर ध्यान केंद्रित प्राप्त करने के लिए मैं सबसे पहले मेरे उपयोगकर्ता नियंत्रण तो कुछ इस तरह ध्यान केंद्रित करने की है

myTextBox.Select(); 

ध्यान दें कि अगर मैं प्रयुक्त: myTextBox.Focus() यह काम नहीं करेगा (क्यों नहीं पता)। इसके अलावा अगर मैंने myUserControl.eoclect() के बजाय myUserControl.Select() का उपयोग किया है, तो यह भी काम नहीं करेगा।

ऐसा लगता है कि यह एकमात्र संयोजन है जो काम करता है।

संबंधित मुद्दे

 संबंधित मुद्दे