2012-06-15 29 views
7

मेरे पास एक विंडोज़ फॉर्म एप्लीकेशन है। फॉर्म पर तीन समूह बॉक्स हैं। प्रत्येक समूहबॉक्स में कुछ नियंत्रण होते हैं। कृपया छवि देखें। formटैबइंडेक्स सही ढंग से काम नहीं करता

एक समूह बॉक्स "ध्वज" है जिसमें कुछ चेकबॉक्स हैं। "ध्वज" "groupbox1" में अंदर है। मैंने प्रत्येक नियंत्रण के माध्यम से जाने के लिए टैब कुंजी का उपयोग किया लेकिन यह "ध्वज" में चेकबॉक्स के लिए काम नहीं करता है। मैंने प्रत्येक नियंत्रण के लिए उचित टैबिंडेक्स सेट किया था।

यह टेक्स्टबॉक्स और बटन के लिए काम करता है लेकिन चेकबॉक्स।

क्यों? मदद के लिए धन्यवाद।

संपादित

// groupBox2 
     // 
     this.groupBox2.Controls.Add(this.pictureBox10); 
     this.groupBox2.Controls.Add(this.pictureBox9); 
     this.groupBox2.Controls.Add(this.pictureBox8); 
     this.groupBox2.Controls.Add(this.pictureBox7); 
     this.groupBox2.Controls.Add(this.chkStoplight); 
     this.groupBox2.Controls.Add(this.lblStoplight); 
     this.groupBox2.Controls.Add(this.chkIsCount); 
     this.groupBox2.Controls.Add(this.chkExceptionFlag); 
     this.groupBox2.Controls.Add(this.chkIsActive); 
     this.groupBox2.Controls.Add(this.lblIsActive); 
     this.groupBox2.Controls.Add(this.lblExceptionFlag); 
     this.groupBox3.Controls.Add(this.lblIsCount); 
     this.groupBox2.Location = new System.Drawing.Point(16, 201); 
     this.groupBox2.Name = "groupBox2"; 
     this.groupBox2.Size = new System.Drawing.Size(321, 70); 
     this.groupBox2.TabIndex = 10; 
     this.groupBox2.TabStop = true; 
     this.groupBox2.Text = "Flags"; 

     // 
     // chkStoplight 
     // 
     this.chkStoplight.AutoSize = true; 
     this.chkStoplight.Location = new System.Drawing.Point(44, 25); 
     this.chkStoplight.Name = "chkStoplight"; 
     this.chkStoplight.Size = new System.Drawing.Size(15, 14); 
     this.chkStoplight.TabIndex = 0; 
     this.chkStoplight.UseVisualStyleBackColor = true; 

     In the property, I found TabStop is true for chkStoplight. 
+0

कृपया हमें बताएं कि आप लगातार टैब दबाए जाने के बाद कौन सा नियंत्रण सक्रिय हो जाता है –

+0

क्या आप अपना कोड पोस्ट कर सकते हैं? – Dante

+0

कोड टैबिंडेक्स के लिए सिर्फ संख्या है। चेकबॉक्स को छोड़कर सभी नियंत्रण सक्रिय हैं। –

उत्तर

9

System.Windows.Forms.GroupBox के लिए:

आप सुनिश्चित करें कि आपके GroupBox flag एक उपयुक्त tabindex सेट है कि बनाना चाहिए।

MSDN - How to: Set the Tab Order on Windows Forms से:

साथ ही, डिफ़ॉल्ट रूप से, एक GroupBox नियंत्रण अपने स्वयं के tabindex मूल्य है, जो एक पूर्ण संख्या है। ग्रुपबॉक्स नियंत्रण में रन टाइम पर फ़ोकस नहीं हो सकता है। इस प्रकार, ग्रुपबॉक्स में प्रत्येक नियंत्रण का अपना दशमलव टैबइंडेक्स मान होता है, जो 0 से शुरू होता है। स्वाभाविक रूप से, ग्रुपबॉक्स नियंत्रण के टैबइंडेक्स के रूप में वृद्धि हुई है, इसके भीतर के नियंत्रण तदनुसार बढ़ेगा। आप, अपने समूह में पहली नियंत्रण से tabindex मूल्य स्वचालित रूप से परिवर्तन करने के लिए 6.0, और इसलिए

इसके अलावा पर 6 5 से एक tabindex मूल्य बदल रहे हैं, तो आपके GroupBox के बारे में सुनिश्चित TabStop संपत्ति flag नहीं है झूठ पर सेट करें। मुझे विश्वास है कि झूठी डिफ़ॉल्ट है।

लिए System.Windows.Controls GroupBox:

सुनिश्चित करें कि GroupBox.IsTabStop संपत्ति सेट है। यह भी गलत करने के लिए डिफ़ॉल्ट है।

अद्यतन: ऐसा लगता है कि अपने नियंत्रण के सभी groupBox3 जोड़े जा रहे हैं। आपको यह सुनिश्चित करना चाहिए कि उनमें से प्रत्येक को केवल अपने ग्रुपबॉक्स में जोड़ा जा रहा है। उदाहरण के लिए, checkBox1, checkBox2, और checkBox3 सभी को flag में जोड़ा जाना चाहिए, जिसे स्वयं groupBox1 में जोड़ा जाना चाहिए। groupBox3 में केवल पीछे, अगला, समाप्त करें, और रद्द करें।

+0

ग्रुपबॉक्स के लिए कोई टैबस्टॉप संपत्ति नहीं है। –

+0

लिंक की जांच करें। यह विशेष रूप से GroupBox.TabStop संपत्ति के लिए एमएसडीएन आर्टिकल में जाता है। इसके अलावा, मैंने एक नया समूह बॉक्स बनाने का परीक्षण किया और सत्यापित किया कि ए) संपत्ति मौजूद है और बी) यह गलत पर डिफ़ॉल्ट है। –

+0

ठीक है। शायद चेकबॉक्स केवल कीस्ट्रोक की बजाय माउस के लिए है? –

1

मैंने पाया कि WinForms समूह बक्से में टैब क्रम पाने के लिए एक ही रास्ता है, जिसमें नियंत्रण उत्पन्न InitializeControl विधि में समूह बॉक्स में जुड़ जाते हैं क्रम बदलकर है।

यदि आपके पास एकाधिक समूह बॉक्स हैं तो आपको उस ऑर्डर को जांचना होगा जिसमें समूह के बक्से उनके कंटेनर में जोड़े गए हैं और संभवतः इसे बदल सकते हैं।

मैं वास्तव में जेनरेट कोड संपादित करना नापसंद करता हूं लेकिन जहां तक ​​मैं इसे देख सकता हूं, इसे ठीक करने का एकमात्र तरीका है।

समूह बॉक्स की टैबस्टॉप संपत्ति को सेट करने में कोई मदद नहीं मिली।

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