2010-04-22 3 views
1

У меня есть UserControl, в котором FlowLayoutPanel (FlowDirection по умолчанию - LeftToRight). Этот пользовательский элемент управления состоит из описания и некоторых элементов управления: [descr.] 123456789, он должен быть в состоянии быть отменено 987654321 [descr.]Dock => Заполнить элемент управления в FlowLayoutPanel

Так FlowLayoutPanel используется для данной области (RightToLeft - True/False).

alt text http://lh5.ggpht.com/_1TPOP7DzY1E/S9B3MUrHo4I/AAAAAAAADLU/YiiSOPSQuso/s800/Capture1.png

ли это способ, которым label1 заполнить остальную часть управления (влево или вправо соответственно)?

ответ

3

К сожалению, FlowLayoutPanel не поддерживает такое поведение.

Есть три варианта я знаю:

  1. вручную делают этикетки занимают остальную часть пространства. (Пересчет, когда FlowLayoutPanel изменяет размер.) Это сложно, особенно если вы добавляете элементы управления во время выполнения.

  2. Используйте вместо этого TableLayoutPanel. Он не имеет характеристик «потока», но он поддерживает поведение «заливки», которое вы хотите.

  3. Напишите свой собственный контроль, который делает это. Это может стать сложным.

я бы, вероятно, пойти с TableLayoutPanel, но в зависимости от обстоятельств один из других вариантов может иметь больше смысла.

+0

Надеюсь, что в реверсивном элементе TableLaoytPanel не должно быть слишком сложно. – serhio