Добавление текстовых полей на панель без пробелов между ними - PullRequest
0 голосов
/ 11 июля 2011

У меня есть панель и кнопка, которая добавляет текстовые поля на панель в следующей конфигурации:

|textbox1 |

|textbox2 |

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

Ответы [ 3 ]

2 голосов
/ 11 июля 2011

Я бы вместо этого использовал FlowLayoutPanel . Тогда вы можете просто добавить свои текстовые поля, выполнив flowLayoutPanel1.Controls.Add(mytextbox1);

Другой вариант описан в этой записи.

Другим примером является Установка позиции элемента управления не работает, когда прокрутка «перемещена»

0 голосов
/ 11 июля 2011

Рассматривали ли вы использование панели Flowlayout?

http://msdn.microsoft.com/en-us/library/system.windows.forms.flowlayoutpanel.aspx

0 голосов
/ 11 июля 2011

Хм ... Даже если мне кажется странным, что происхождение "смещается", попробуйте aftrr, что вы добавили последний TextBox, добавьте свою Delta из Bounds.Bottom, который сгенерирует Top of следующий TextBox для добавления.

Надеюсь, это поможет.

...