During runtime, there is nothing like "project". There are only assemblies (one of the central points of .NET, by the way) and their modules. "Project" are left behind after you build you solutions.
If your assemblies participate in one application and, hence, their code is executed in one process, it does not present any special problem, which is reduced to a simple (and popular problem) of form collaboration:
Pass data from a selected gridview row in form1 to a label or textbox in form2[
^].
The only things is: all types and members you want to use across the boundary between assemblies, should be marked as
public
. In this case, development is no different from the development of a single monolithic project.
—SA