Опитах се да следвам,
по формуляр 1,
Dim removedtabs as New Collection()
и във форма2 се опитах да го спомена, както следва,
form1.ControlCollection(removedtabs)
но дава грешка.
Аз съм нов в vb.net и никога не съм използвал контролна колекция.
Благодаря
Отговори:
0 за отговор № 1Не забравяйте, че Формите са просто обикновени класове, а членовете на класовете са частен по подразбиране. Най-малкото ще трябва да използвате ключовата дума Public
вместо Dim
, Но нека копаем малко по-дълбоко. Виждам няколко допълнителни точки, които трябва да бъдат извикани:
- Използвахте обекта Collection. Няма основателна причина някога използвайте този обект. Съществува главно за обратна съвместимост със стария код. Вместо това трябва да използвате един от общите типове колекции.
- Изглежда, че използвате формата по подразбиране1инстанция. Подобно на клас Collection, тези стандартни екземпляри съществуват главно за обратна съвместимост. Наистина трябва да създавате свои собствени екземпляри от обектите на формуляра (никой никога не е казвал, че можете да имате само едно копие на формуляр) и да изпратите препратка към тези случаи в други класове.
- Вместо да излагате обекта директно, дръжте декларацията частна. Добавете свойство, което има само секция get, за да върнете колекцията.