You can't.
A control doesn't know where it is stored. Think about this:
MyClass mc1;
MyClass mc2;
MyClass[] array = new MyClass[10];
mc1 = new MyClass();
mc2 = mc1;
for (int i = 0; i < 10; i++)
{
array[i] = mc1;
}
If the one and only instance of MyClass
could know where it is stored, what value should it return?
mc1?
mc2?
array[0]?
...
array[9]?
And think even further: to "know" where it is stored, it would have to keep a reference to the "location" which means that the garbage collector could not dispose of the location (because it is being referenced by the instance) or of the instance (because it is being referred to by the location). So nothing could ever be disposed, and memory use would just increase until it ran out...
I don't know why you want to do this: but I think you need to reconsider what exactly you need this for!