2013-02-21 7 views
9

मुझे खेद है कि यह n00bish लगता है, लेकिन मैं इसे कुछ दिनों के लिए खोज रहा हूं। मैं गतिशील रूप से विंडोज़ फॉर्म में चेकबॉक्स जोड़ने की कोशिश कर रहा हूं; हालांकि, फॉर्म पर केवल एक चेकबॉक्स दिखाई देता है। यहां मेरा कोड है:गतिशील रूप से विंडोज़ फॉर्म में चेकबॉक्स जोड़ना केवल एक चेकबॉक्स दिखाता है

for (int i = 0; i < 10; i++) 
{ 
    box = new CheckBox(); 
    box.Tag = i.ToString(); 
    box.Text = "a"; 
    box.AutoSize = true; 
    box.Location = new Point(10, i + 10); 
    Main.Controls.Add(box); 
} 

जैसा कि आप देख सकते हैं कि मैं लूप के माध्यम से चेकबॉक्स जोड़ रहा हूं। मैंने स्थान के साथ गड़बड़ करने की कोशिश की है और अगर वे किसी भी तरह ओवरलैपिंग कर रहे हैं तो ऑटोसाइज को सक्षम करना। नतीजा टेक्स्ट "ए" के साथ एक एकल चेकबॉक्स है।

+4

कोशिश कुछ मैं 50 के बजाय * की मैं 10 जो केवल 1 पिक्सेल – Benny

उत्तर

15

दरअसल आपने पहले से ही CheckBox बनाया है लेकिन उसी बिंदु के भीतर।

CheckBox box; 
for (int i = 0; i < 10; i++) 
{ 
    box = new CheckBox(); 
    box.Tag = i.ToString(); 
    box.Text = "a"; 
    box.AutoSize = true; 
    box.Location = new Point(10, i * 50); //vertical 
    //box.Location = new Point(i * 50, 10); //horizontal 
    this.Controls.Add(box); 
} 
+0

द्वारा प्रत्येक बॉक्स परिवर्तन होगा आपके ईवेंट के साथ कर सकते हैं ओपी को सिर्फ एक नोट, क्योंकि अन्य उत्तरों के साथ कुछ भ्रम था ... 'बॉक्स = नया चेकबॉक्स(); 'चेकबॉक्स बॉक्स = नया चेकबॉक्स(); के बजाय लूप के अंदर' 'भी काम करेगा। – NominSim

+0

आपके सभी त्वरित प्रतिक्रियाओं के लिए धन्यवाद! समस्याएं थीं: चेकबॉक्स के बीच लंबवत दूरी बहुत छोटी थी और चेक-लूप के भीतर चेकबॉक्स नहीं बनाया गया था। – cruskai239

+0

@NominSim हाँ मुझे पता है। यही कारण है कि मैंने अपने जवाब से क्यों कहा। – spajce

0

मदद की गतिशील कैसे checkbox.checked संपत्ति हासिल करने के लिए, सबमिट बटन जैसे कुछ अन्य कार्रवाई में आवंटित नाम संपत्ति के साथ इस मामले में। मैं सभी चेक बॉक्स कैसे चेक कर सकता हूं और लूप में कौन सा बनाया गया है?

0

आप हर बटन से एक उदाहरण है, तो आप अपने बटन या बनाने के लिए की तरह

CheckBox myCheckedBox = (CheckBox)sender; 
संबंधित मुद्दे