Hi,
I have a situation where I have 1 solution and multiple projects underneath so that I can maintain seperate dll's for different reasons.
I have an MDI Parent form in one project and in another are all the forms that I want to instantiate as my MDI Children.
In my MDI Parent project I reference my project that has my MDI Children Forms. This is needed so that in the parent I can cast a new form of my child type and then call .Show().
This works great as expected. The problem I'm having is in my child mdi forms I need to call a method that belongs to my Parent MDI form. This method I have created as public but I have no way to reference it that I can find. I can call Form myForm = this.MDIParent; - but the only methods available are to Form and not my specific Form. I can't cast it to my Parent Form type as I don't have a reference to it because it is in a seperate project. I can't add the parent project reference in solution explorer - it complains that it would be a circular reference.
If I move my child forms into the main parent forms project - there is no problem casting the this.MDIParent to my parent form custom form type and that allows me to get at my public method.
I can't figure this out, but surely you must be able to do it using seperate projects. It don't want my children in the exe build I want them in seperate dll's so I can use the trickle down approach of loading them off a webserver.
thanks

Circular Reference Issue
smmuneeb
Thank you for your reply. I am not sure exactly what you mean by setting up an event in my child forms. What sort of event would it be and what would it do
I'm sorry, but I'm unclear what this would do to help my issue.
Thanks
Mike
lynntankl
HTH
Yao-Jie Tang - MSFT
thanks
Mike
phs-spop
<b>child form</b>
Public Class MyChildForm
...
Public Event SomethingHappened(ByVal sender As Object, ByVal e As EventArgs)
Private Sub DoingSomething()
RaiseEvent SomethingHappened(Me, New EventArgs())
End Sub
End Class
<b>parent form</b>
Public Class MyParentForm
...
Private Sub AddNewChild()
Dim Temp As New MyChildForm()
...
AddHandler Temp.SomethingHappened, AddressOf SomethingHappenedHandler
...
Temp.Show()
End Sub
Private Sub SomethingHappenedHandler(ByVal sender As Object, ByVal e As EventArgs)
'call some code
End Sub
End Class
Hope that helps! :)