2015-02-05 8 views
5

मेरे पास एक कस्टम नियंत्रण है जिसमें एक टेक्स्टबॉक्स और एक बटन है। मैं ऑब्जेक्टलिस्ट दृश्य में एक विशिष्ट कॉलम के लिए संपादन नियंत्रण के रूप में कस्टम नियंत्रण का उपयोग करता हूं।कस्टम नियंत्रण में नियंत्रण पर फ़ोकस कैसे सेट करें?

CellEditStarting घटना पर मुझे क्या करना:

private void datalistViewProducts_CellEditStarting(object sender, CellEditEventArgs e) 
{ 
    var ctl = (MyCustomControl)e.Control; 
    e.Control = ctl; 
} 

ObjectListView के ConfigureControl पद्धति पहले से ही नियंत्रण के Select प्रणाली को बुलाती है। यह ठीक काम करता है अगर मेरे पास मानक टेक्स्टबॉक्स से सीधे उपयोगकर्ता नियंत्रण प्राप्त होता है।

public new void Select() 
{ 
    textBox.Select(); 
} 

जैसा कि ऊपर वर्णित हालांकि, एक usercontrol होने, Select विधि पाठ बॉक्स को फ़ोकस नहीं करता है:

तो मैं अपने usercontrol के लिए निम्न कोड गयी।

मुझे यहां क्या याद आ रही है?

+0

धन्यवाद, भाई! ('मुझे बहुत', सिर्फ इसलिए कि मैं अक्सर उनको एक साथ देखता हूं, हालांकि अब यह सोचता है कि इसका क्या अर्थ है) – FastAl

उत्तर

1

एक ही तरीका है कि यह अंत में काम जोड़ने के लिए था उपयोगकर्ता नियंत्रण में निम्न कोड:

protected override void OnEnter(EventArgs e) 
{ 
    base.OnEnter(e); 
    textBox.Select(); 
} 
+0

मजेदार किसी ने इसे वोट दिया, जब ओपी ने कहा कि यह काम करता है! – FastAl

1

आप कस्टम यूज़र कंट्रोल में एक विधि बना सकते हैं, FocusControl(string controlName) कहें और फिर कस्टम नियंत्रण में नियंत्रण को ध्यान में रखकर इस विधि को कॉल करें।

Control-अपने कस्टम उपयोगकर्ता में विधि बनाएं

public void FocusControl(string controlName) 
    { 
     var controls = this.Controls.Find(controlName, true); 
     if (controls != null && controls.Count() == 1) 
     { 
      controls.First().Focus(); 
     } 
    } 

कॉल इस method-

//textBox1 is the name of your focussing control in Custom User Control 
userControl11.FocusControl("textBox1"); 
+0

काम नहीं करता है :( –

+0

@ इवान-मार्कडेबोनो, आप किस तरह का नियंत्रण केंद्रित करने की कोशिश कर रहे हैं? और किस नियंत्रण से? –

+0

कस्टम नियंत्रण के भीतर एक साधारण टेक्स्टबॉक्स। कस्टम नियंत्रण को ऑब्जेक्टलिस्ट के लिए संपादन नियंत्रण के रूप में उपयोग किया जाता है। –

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