Connecting Tech Pros Worldwide Help | Site Map

Control arrays converted from VB6

Greg
Guest
 
Posts: n/a
#1: Nov 21 '05
In VB6 I made heavy use of control arrays
I see they have been 'deprecated' in vb.Net, with a questionable explanation
that they are no longer necessary which just addresses the event issue!
Problem is I commonly associated several other controls with the same index
inside the event handler - eg a
Directory listbox, Label, Checkbox, Textbox Drivebox etc all associated with
identical index.

Now I see Control arrays belong to VB6 compatibility.

So how in a converted VB6 program can I extend the control arrays at design
time? or run-time for that matter?

I guess VB6 compatibility creates a run-time array of controls with related
type and names - am I right?

So do I need to create a Control object array at form load time, and replace
control references with array references? Is that how VB6 compatibility
does it?

How do other people handle control arrays in .Net

Thanks!


Greg
Guest
 
Posts: n/a
#2: Nov 21 '05

re: Control arrays converted from VB6


Sorry - double post due to Outlook-Express reported server error

Cor Ligthert
Guest
 
Posts: n/a
#3: Nov 21 '05

re: Control arrays converted from VB6


Greg,

This newsgroups is full of this.

In VBNet has every control an controlcollection. That is as well for the
form itself.

However what you probably need is something as
\\\
dim ctrArray() as Control = Control() {textbox1, textbox2, combobox1, etc}
///
When you use it with a special property/method of a control (not needed for
by instance "name") than you have to do
\\\
If typeof ctr(x) Is combobox then
directcast(ctr,combobox).selectedindex = 1
End it
///
I hope this helps?

Cor


"Greg" <Greg@discussions.microsoft.com>[color=blue]
> In VB6 I made heavy use of control arrays
> I see they have been 'deprecated' in vb.Net, with a questionable
> explanation
> that they are no longer necessary which just addresses the event issue!
> Problem is I commonly associated several other controls with the same
> index
> inside the event handler - eg a
> Directory listbox, Label, Checkbox, Textbox Drivebox etc all associated
> with
> identical index.
>
> Now I see Control arrays belong to VB6 compatibility.
>
> So how in a converted VB6 program can I extend the control arrays at
> design
> time? or run-time for that matter?
>
> I guess VB6 compatibility creates a run-time array of controls with
> related
> type and names - am I right?
>
> So do I need to create a Control object array at form load time, and
> replace
> control references with array references? Is that how VB6 compatibility
> does it?
>
> How do other people handle control arrays in .Net
>
> Thanks!
>
>[/color]


Greg
Guest
 
Posts: n/a
#4: Nov 21 '05

re: Control arrays converted from VB6


Thanks for your reply - I was hoping to find something to give me DESIGN Time
control arrays; I think Ken Tucker and Herfried Wagner have answered my
question in the double-posted thread; thank you

But it's no surprise that the Group is full of this particular issue! It
was quite a shock to find something so useful and flexible discarded with no
obvious benefit

"Cor Ligthert" wrote:
[color=blue]
> Greg,
>
> This newsgroups is full of this.
>
> In VBNet has every control an controlcollection. That is as well for the
> form itself.
>
> However what you probably need is something as
> \\\
> dim ctrArray() as Control = Control() {textbox1, textbox2, combobox1, etc}
> ///
> When you use it with a special property/method of a control (not needed for
> by instance "name") than you have to do
> \\\
> If typeof ctr(x) Is combobox then
> directcast(ctr,combobox).selectedindex = 1
> End it
> ///
> I hope this helps?
>
> Cor
>
>
> "Greg" <Greg@discussions.microsoft.com>[color=green]
> > In VB6 I made heavy use of control arrays
> > I see they have been 'deprecated' in vb.Net, with a questionable
> > explanation
> > that they are no longer necessary which just addresses the event issue!
> > Problem is I commonly associated several other controls with the same
> > index
> > inside the event handler - eg a
> > Directory listbox, Label, Checkbox, Textbox Drivebox etc all associated
> > with
> > identical index.
> >
> > Now I see Control arrays belong to VB6 compatibility.
> >
> > So how in a converted VB6 program can I extend the control arrays at
> > design
> > time? or run-time for that matter?
> >
> > I guess VB6 compatibility creates a run-time array of controls with
> > related
> > type and names - am I right?
> >
> > So do I need to create a Control object array at form load time, and
> > replace
> > control references with array references? Is that how VB6 compatibility
> > does it?
> >
> > How do other people handle control arrays in .Net
> >
> > Thanks!
> >
> >[/color]
>
>
>[/color]
Cor Ligthert
Guest
 
Posts: n/a
#5: Nov 21 '05

re: Control arrays converted from VB6


Greg,
[color=blue]
> But it's no surprise that the Group is full of this particular issue! It
> was quite a shock to find something so useful and flexible discarded with
> no
> obvious benefit
>[/color]
Only from persons who come just from VB6. After a while they don't want that
probably no more because there are so much VBNet methods which give more
control to do what you want, almost endless and when you know them easier to
use.

Cor


Herfried K. Wagner [MVP]
Guest
 
Posts: n/a
#6: Nov 21 '05

re: Control arrays converted from VB6


"Cor Ligthert" <notmyfirstname@planet.nl> schrieb:[color=blue][color=green]
>> But it's no surprise that the Group is full of this particular issue! It
>> was quite a shock to find something so useful and flexible discarded with
>> no
>> obvious benefit[/color]
>
> Only from persons who come just from VB6. After a while they don't want
> that probably no more because there are so much VBNet methods which give
> more control to do what you want, almost endless and when you know them
> easier to use.[/color]

I disagree. Control arrays were one important part of the real RAD
experience of VB Classic, because they provided an easy-to-use design-time
support.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Cor Ligthert
Guest
 
Posts: n/a
#7: Nov 21 '05

re: Control arrays converted from VB6


Herfried,

I know that you disagree that, I have often seen that in this newsgroup.

It is often that people love there first programming language they were real
active with and cannot see the worse things of it.

However an advise try to leave that behaviour.

Learn to look at your first programminglanguage even with more distance than
others.

And watch to embrace not directly any marketing message that fits what you
want to see. When others who never used VB6 however are expirienced in VBNet
that it is good, than you have a better measuring point.

And those people are probably even younger than you.

However just an advise feel free to do with it what you want.

Cor

"Herfried K. Wagner [MVP]" <hirf-spam-me-here@gmx.at>
[color=blue]
> "Cor Ligthert" <notmyfirstname@planet.nl> schrieb:[color=green][color=darkred]
>>> But it's no surprise that the Group is full of this particular issue!
>>> It
>>> was quite a shock to find something so useful and flexible discarded
>>> with no
>>> obvious benefit[/color]
>>
>> Only from persons who come just from VB6. After a while they don't want
>> that probably no more because there are so much VBNet methods which give
>> more control to do what you want, almost endless and when you know them
>> easier to use.[/color]
>
> I disagree. Control arrays were one important part of the real RAD
> experience of VB Classic, because they provided an easy-to-use design-time
> support.
>
> --
> M S Herfried K. Wagner
> M V P <URL:http://dotnet.mvps.org/>
> V B <URL:http://dotnet.mvps.org/dotnet/faqs/>[/color]


Herfried K. Wagner [MVP]
Guest
 
Posts: n/a
#8: Nov 21 '05

re: Control arrays converted from VB6


"Cor Ligthert" <notmyfirstname@planet.nl> schrieb:[color=blue]
> It is often that people love there first programming language they were
> real active with and cannot see the worse things of it.[/color]

VB Classic was not my first programming language.
[color=blue]
> However an advise try to leave that behaviour.[/color]

Why? Give me some reasons why control arrays (+ design-time support) are so
bad that I should not use them.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Cor Ligthert
Guest
 
Posts: n/a
#9: Nov 21 '05

re: Control arrays converted from VB6


> "Cor Ligthert" <notmyfirstname@planet.nl> schrieb:[color=blue][color=green]
>> It is often that people love there first programming language they were
>> real active with and cannot see the worse things of it.[/color]
>
> VB Classic was not my first programming language.
>[/color]
I took a long time to describe it the way I did, to avoid this message
however I did not succeed. I know that already, however in my opinion is VB6
the the first you embraced.

:-)
[color=blue][color=green]
>> However an advise try to leave that behaviour.[/color]
>
> Why? Give me some reasons why control arrays (+ design-time support) are
> so bad that I should not use them.[/color]

It is not the discussing point, the point is that the ones who want to
discuss this have all a very deep VB6 background. That does not mean I did
not used it, however I am almost forgotten what it was.

The only thing I rembember me is that I first found it sad that the control
array was gone, and now that I have seen so much better aproaches for that
am afraid that it comes back and people start using it again.

I thought to remember me that it was one of my first questions in this
newsgroup which you answered. (Beside that favorites, what still is great,
was it I thought as well one of your last answers on programming questions
from me)

:-).

Cor



Closed Thread