Hi Michael,
As far as I'm aware, you can't completely emulate control arrays. I might be wrong, but I taught myself very early in my .net learning to just avoid them :)
If you really need an array of them, you could always insert them into an array yourself - but it depends on what you want to do with them.
For example, you might drop 3 treeviews on your form (lets call them Treeview1, 2 and 3). You could then put this at the top of your form code:
PrivateTreeViewArray(2) as Treeview
And then in, say, your FormLoad event you could do:
TreeViewArray(0) = Treeview1
TreeViewArray(1) = Treeview2
TreeViewArray(2) = Treeview3
But as I said, why do you need it? Are you just trying to reduce the amount of upgrade code you need to write, or are you trying to do something in particular?
--Geoff