Friendship should only be used on classes which are very tightly bound -- like different components of a larger structure. A typical example is a container class and an iterator class for that container... they're obviously codependent so it makes sense for them to be friends.
If you have two classes that are not tightly bound... then making them friends defeats the entire point of making your data private in the first place. At which point you might as well just make the data public because you're already violating encapsulation.
My advice: if you need these classes to access each other's private data, you likely have a design flaw. Rethink your design and class structure.
when i try to make From1 and Form2 friends i get error:
error C3809: 'MyApp::Form1': a managed type cannot have any friend functions/classes/interfaces
I could just make them public but in the future i might want to have Form3.h and Form4.h and if i would make Form1 class and Form2 class members public my Form3 and Form4 would have access and i dont want that.