Проблемы после добавления элемента управления динамически на панели - PullRequest
1 голос
/ 29 января 2011

Я добавил Список просмотра на панель так:

panelComponent.Controls.Add(viewListComponent);

Все работает просто отлично.События мыши обрабатываются, перерисовка работает.Но одна проблема: я не могу перемещать это динамически.Если я изменю переменную control.Top, она просто не будет двигаться.

Это похоже на то, как элемент управления приклеен к верхнему левому углу.Изменение размера правого и нижнего свойств работает просто отлично!Я сделал это без динамического добавления, а затем без проблем.

Что может быть причиной, и как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 29 января 2011

Два возможных объяснения. Во-первых, свойство Dock, прикрепление его к вершине сохраняет элемент управления в верхней части контейнера, независимо от того, что вы назначаете для свойств Top или Location.

Другой тип значений, свойство Location это Point, структура. Этот код не будет перемещать элемент управления:

        var lbl = new Label();
        panel1.Controls.Add(lbl);
        var pos = lbl.Location;
        pos.Y = 42;  // No effect
0 голосов
/ 29 января 2011

Попробуйте использовать свойство Location:

viewListComponent.Location = new Point(42, 42);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...