MDI Form with a ToolStripContainer

I Have a MDI Parent form using a ToolStripContainer. I finially have the container working woth the tool bars, but now as I attempt to get the child forms created, they do not display. If I make the ToolStripContainer visible equal to false, then the child form appears. So it appears that the child form is behind the ToolStripContainer. I atetmpted to dock the ToolStripContainer but this did not help. I was not able to get tool bars to dock without the use of the ToolStripContainer so how can I get all of this to work?
fundsfAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
You can't mix the MdiParent/MdiChildren approach with the ToolStripContainer....it just won't work.

You can achieve a similar setup using a standard MdiParent by simply changing the Dock() property of the controls to Top/Bottom/Left/Right:
MdiParentWithDockedToolBars.jpg
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
"I was not able to get tool bars to dock without the use of the ToolStripContainer so how can I get all of this to work?"

A ToolStripContainer is designed to take up the ENTIRE container area which is why your MdiChildren are not visible.

Remove the ToolStripContainer and a standard Toolstrip should Dock across the Top of your MdiParent.
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
If that doesn't help then please elaborate on what you're attempting to build.  A picture might be helpful in showing what does or does not work...
0
Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

 
Wayne Taylor (webtubbs)AstronautCommented:
You need to add the MDI children to the ContentPanel, not the Parent form...

    ToolStripContainer1.ContentPanel.Controls.Add(ChildForm)

Wayne
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
If you're going to do as Wayne suggests, you must first set the TopLevel() property of your children to False:

    Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
        Dim child As New frmChild
        child.TopLevel = False
        ToolStripContainer1.ContentPanel.Controls.Add(child)
        child.Show()
    End Sub

Open in new window

0
 
fundsfAuthor Commented:
Thanks, but thoise suggestions did not seem to help. I applied them to my code (below) without any luck.

Private Sub MenuTools_Options_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
                    Handles MenuTools_Options.Click
Try
            Dim LoadIt As Boolean = True

            For Each frm As Form In Me.MdiChildren
                       If frm.Name.ToLower = "frmoptions" Then
                               LoadIt = False
                               Exit For
                      End If
            Next

             If LoadIt Then
                        Dim frm As New frmOptions
                                     ' Me.ToolStripContainer1.Visible = False      (IF I TURN THIS OFF THE FORM IS VISIBLE BEFORE THE SUGGESTION)
                        If My.Settings.MenuView_ToolBars_Visible Then
                                   frm.TopLevel = False
                                   Me.ToolStripContainer1.ContentPanel.Controls.Add(frm)     '  (DOING THIS NOW STILL DOES NOT SHOW THE FORM)
                        Else
                                   frm.MdiParent = Me
                       End If

                       frm.Show()
             Else
                       For Each childForm As Form In Me.MdiChildren
                                   If TypeName(childForm).ToLower = "frmoptions" Then
                                              childForm.Activate()
                                               Exit For
                                  End If
                       Next
            End If
Catch ex As Exception
                MsgBox("Unable to open the requested form. The problem was:" & vbCr & vbCr & ex.Message)
End Try

End Sub
0
 
Mike TomlinsonMiddle School Assistant TeacherCommented:
Please post a screen shot of your form...

Better yet, zip up the project and change the extension to .txt so you can upload it here.
0
 
fundsfAuthor Commented:
Okay. Here is the image. This is VB.Net 2010.
OptionFormNotVisiblewithToolStri.JPG
0
 
fundsfAuthor Commented:
Part two with the form seen and the ToolStripContainer not Visible.
OptionFormVisiblewithToolStripCo.JPG
0
 
fundsfAuthor Commented:
So the shown child tool bars need to be docked individually? How would this be done so that the user can move them to a different location? Also, when docking at the bottom, and I have a status bar, would the tool bar be above the status bar? Also, would this allow floating tools bar somehow?
 
Can you provide an example in VB>Net?
 
Thank
0
 
fundsfAuthor Commented:
Thanks, I found my question on the net.
0
All Courses

From novice to tech pro — start learning today.