// should retrieve the 'WindowsFormsApplication1.Form2.myButton' , but how?
Это невозможно.
Объект в C # находится где-то в управляемой куче (его даже можно перемещать) и идентифицируется ссылкой на него. Может быть много ссылок на один и тот же объект, но не существует «обратного указателя» от объекта, куда бы он ни ссылался.
class Program
{
int number;
public Program next;
private static Program p1 { number = 1 };
private static Program p2 { number = 2, next = p1 }
private static int Main(int argc, string[] argv)
{
p2.DoStuff(p2);
}
void DoStuff(Program p)
{
// In here, the program with m_Number = 1 can be reached
// as p1, p.next, p2.next and this.next. All of them are
// references to the same object.
}
}