Проблемы с ShapeArray и преобразованием его в C # - PullRequest
0 голосов
/ 25 августа 2009

Я преобразовал приложение VB6 в VB.NET, потому что в конце концов я хочу преобразовать его в C #. Но у меня есть проблемы в отношении ShapeArray, который наследует BaseControlArray. Это мои проблемы:

Я создаю класс RectangleShapeArray в решении VB .Net. И тогда я перешел на C #.

Но при вызове RectangleShapeArray.Load (1) он говорит, что массив прямоугольных фигур не имеет существующего Shape для клонирования, и что я должен добавить Shape к нему во время разработки.

Но я не могу найти способ добавить элемент управления в RectangleShapeArray во время разработки. Есть ли способ добавить элемент управления в RectangleShapeArray во время разработки?

Любая помощь будет принята с благодарностью, заранее спасибо ...:)

1 Ответ

2 голосов
/ 25 августа 2009

Но я не могу найти способ добавить элемент управления в RectangleShapeArray во время разработки. Есть ли способ добавить элемент управления в RectangleShapeArray во время разработки?

Нет. Массивы управления не поддерживаются конструктором .NET Windows Forms, что является огромным разочарованием для бывших программистов VB6, когда они впервые это осознают.

Но если вы действительно об этом думаете, массивы элементов управления в конструкторе все равно не имеют особого смысла: они почти всегда динамические и используют различное количество элементов управления в зависимости от ограничений времени выполнения. Поэтому разработка их во время компиляции не имеет особого смысла.

Полностью избегайте классов управляющих массивов в .NET, они больше не нужны. Если у вас есть переменное число элементов управления, вместо этого используйте обычные списки / массивы элементов управления (VB6 не поддерживал это из-за способа, которым VB6 реализовывал события). Внутри конструктора форм создавайте только статические элементы управления, а не массивы элементов управления.

...