2010-06-22 2 views
1

У меня есть класс, который генерирует форму и элементы управления. Элементы управления различаются между кнопками, радиоуправлением, флажками и ярлыками. Идея состоит в том, чтобы аккуратно создать форму с надписью над каждым элементом управления. Проблема в том, что я не могу найти формулу или способ аккуратно организовать/разместить их. Он отлично работает, когда у меня есть только текстовые поля, но я не уверен, как обращаться с более крупными элементами управления, такими как списки флажков. Вот пример того, как я обрабатывать текстовые поля:Как упорядочить элементы управления под каждым другим?

  case "Text": 
       TextBox tbx = new TextBox(); 
       tbx.Name = df.Value.Name; 
       tbx.Text = (df.Value.DefValue != null) ? df.Value.DefValue : ""; 
       tbx.Location = new Point(lbl.Location.X, lbl.Location.Y + 20); 
       f.Controls.Add(tbx); 
       break; 

виду, что это все в foreach цикле. Это та часть, которая предшествует ему (метка):

 if (i == 0) 
     { 
      lbl.Location = new Point(10, 10); 
     } 
     else 
     { 
      lbl.Location = new Point(10, (i * 50) + 10); 
     } 

Это аккуратно сортирует текстовые поля и метки с четным шагом. Может ли кто-нибудь предложить мне несколько советов о том, как обращаться с различными элементами управления? Я хочу поместить их под друг друга, но держите по крайней мере 10 пикселей между нижней частью каждого элемента управления и вершиной следующей метки.

Заранее спасибо.

ответ

2

Использовать tablelayout. Вы можете посмотреть, как дизайнер делает это в коде за файлом.

Для интервала заполните свойство «margin» ваших элементов управления. 5 сверху и 5 внизу должны это сделать.

+0

Blimey, я никогда не думал о том, чтобы так делать. Большое вам спасибо, я уверен, что это будет трюк! – Fusyion

Смежные вопросы