As Sericinus hunter points out, you can pass an instance of B to C - i.e. by
creating a public (or internal) property on C that B assigns itself (this)
to after creating B and prior to showing it. This can also be done as a
parameter to the ctor (of C) if you want, but be sure to leave the default
(parameterless) ctor, otherwise the designer can throw toys out of the pram.
*however*; I would first ask (of myself, so somewhat rhetorical) what the
nature of the method is; if they are highly specific and have a demanding
interface (i.e. by their nature requiring a number of highly specific
parameters) I might go down the above route. If, however, it is more about
notifications between the forms, then I would do this as an event on C (i.e.
CustomerSelected, PrintRequested, UniverseEnding etc), which B would
subscribe to prior to showing.
I would also check with myself whether the functions I want to call are
actually related to the UI; it might be that they exist better as public
functions of a helper class (i.e. FormatCustomerForDisplay, etc) that exist
in a separate class accessed (separately) from B and C.
All of which may-or-may-not help you pick a way forward...
Marc