2010-10-30 19 views
23

विंडोज़ फॉर्म एप्लिकेशन में, जब क्या मैं कोड लॉन्च करने के दौरान कोड को कॉन्फ़िगर करने के लिए कोड लिखता हूं और बाद में जब मैं फ़ंक्शन कॉल करता हूं?विंडोज फॉर्म एप्लिकेशन में नियंत्रण पर फ़ोकस कैसे सेट करें?

उदाहरण के लिए, यदि मेरे पास ड्रॉपडाउनलिस्ट, टेक्स्टबॉक्स और चार बटन हैं और मैं चाहता हूं कि फोकस ड्रॉपडाउनलिस्ट पर सेट किया जाए, जहां क्या मैं अपना कोड लिखूं?

एप्लिकेशन लॉन्च पर किसी विशेष नियंत्रण पर फ़ोकस सेट करने के लिए, मैं उस ड्रॉपडाउन में टैब इंडेक्स सेट कर सकता हूं (न्यूनतम मान के साथ, टैबबॉप प्रॉपर्टी को सत्य पर सेट किया गया है)।

अब, उपयोगकर्ता (जैसे कि, बटन क्लिक करें घटनाक्रम के किसी भी) और फिर मैं लटकती को अद्यतन करने और उसके बाद अगर मैं फोकस सेट करना चाहते हैं ... मैं इसे

MyDropDownList.Focus() 
के रूप में कर सकते हैं एक ऑपरेशन पूरा करता है, तो

प्रश्न

एनबी: सवाल यह है कि अधिक के बारे में जहां, नहीं कैसे?

+0

हां, क्लिक ईवेंट हैंडलर में। अब क्या शेष है? –

+0

@ हंस पासेंट: यह बाद के समय के लिए है (उपयोगकर्ता ऑपरेशन के बाद)। मैं इसे क्लिक इवेंट हैंडलर या अपडेटड्रॉपडाउनलिस्ट() नामक एक फ़ंक्शन में लिख सकता हूं जिसे मैं आंतरिक रूप से क्लिक इवेंट हैंडलर में कॉल कर रहा हूं। लेकिन प्रारंभिक भार के लिए, मैं इसे कहां लिखूं? InitializeComponent() में या इसे बुलाए जाने के बाद? – Kanini

उत्तर

52

अब तक का सबसे आसान समाधान टैबइंडेक्स संपत्ति को सही ढंग से सेट करना है ताकि आपके 'MyDropDownList' नियंत्रण में सबसे कम अनुक्रमणिका हो। अगला दृष्टिकोण इसे कन्स्ट्रक्टर में करना है। लेकिन आपको चयन() का उपयोग करना है, फोकस() विधि अभी तक काम नहीं कर सकती है क्योंकि नियंत्रण बाद में दिखाई नहीं देता है।

Public Sub New() 
    InitializeComponent() 
    MyDropDownList.Select() 
End Sub 

लोड ईवेंट में भी काम करता है। फोकस() दिखाए गए कार्यक्रम में काम करना शुरू कर देता है।

+0

+1 क्योंकि मुझे इसे अपने सी # ऐप में काम करने के लिए लोड ईवेंट में रखना होगा! – Hybrid

+0

मैं वास्तव में उपयोग की सराहना करता हूं। चयन()। यही वही था जो मुझे चाहिए था। – jeromeyers

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