2012-03-12 13 views
7

मेरे पास बटन के साथ एक पैनल है। मेरे बटन गतिशील रूप से बना रहे हैं। मैं 4 बटनों के साथ 4 पंक्तियां चाहता हूं। लेकिन मुझे केवल एक पंक्ति मिलती है।पैनल में नियंत्रक रैपिंग

foreach (CategoriesDataSet.CategoriesRow category in DataRepository.Categories.Categories) 
     { 
      if (!category.CategoryName.Equals("ROOT")) 
      { 
       SimpleButton button = new SimpleButton(); 
       button.Text = category.CategoryName; 
       button.Tag = category.CategoryId; 
       button.Size = new Size(82, 70); 


       if (lastButton != null) 
        button.Left = lastButton.Right + 1; 


       lastButton = button; 
       button.Click += CategoryButtonClick; 
       categoriesPanel.Controls.Add(button); 
      } 
     } 

वांछित परिणाम:

x x x x 
X x x x 
x x x x 

उत्तर

2

इस उत्तर Treb के जवाब की टिप्पणी के बाद है। पाश के लिए
उपयोग और वाम प्रॉपर्टी के लिए एक सापेक्ष ऑपरेटर।

for (int i = 0; i < DataRepository.Categories.Categories.Count; i++) 
{ 
    CategoriesDataSet.CategoriesRow category = DataRepository.Categories.Categories[i]; 

     if (!category.CategoryName.Equals("ROOT")) 
     { 
      SimpleButton button = new SimpleButton(); 
      button.Text = category.CategoryName; 
      button.Tag = category.CategoryId; 
      button.Size = new Size(82, 70); 

      button.Left = i%4*82; 
      button.Top = i*70; 

      button.Click += CategoryButtonClick; 
      categoriesPanel.Controls.Add(button); 
     } 
    } 
1

आप केवल Left संपत्ति का समायोजन करके सही (क्षैतिज) करने के लिए बटन आगे बढ़ रहे हैं:

button.Left = lastButton.Right + 1; 

आप उन्हें नीचे ले जाना चाहते हैं, तो आप के बजाय ऊर्ध्वाधर स्थिति को समायोजित करने की जरूरत है:

button.Top = lastButton.Bottom + 1; 

इस तरह से आप क्षैतिज स्थिति अपरिवर्तित छोड़ देते हैं, नया बटन सीधे अंतिम के नीचे दिखाई देना चाहिए।

संपादित करें: आपकी टिप्पणी के जवाब में, आप कौन सा परिणाम चाहते हैं? है यह एक)

X X X X 

या बी)

X 
X 
X 
X 

या यह है सी)

X 
X 
    X 
    X 

या लाइनों द्वारा बटन के साथ, आप डी की तरह कुछ मतलब है)

X | X | X | X 

या ई)

X - X - X - X 
+0

1 पंक्ति में लिटिल टाइपो: तुम्हारा मतलब ;-) – brgerner

+0

Hmpf, और "' छोड़ा 'संपत्ति का समायोजन "है कि पुरुष जो 3 मिनट से जवाब देने के लिए मुझे हरा से !!! धन्यवाद, इसे सही किया ;-) – Treb

+0

आपकी प्रतिक्रिया के लिए धन्यवाद, लेकिन यह काम नहीं करता है। अब, बटन लंबवत –

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