[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

MDI Form with a ToolStripContainer

Posted on 2010-11-08
11
Medium Priority
?
3,369 Views
Last Modified: 2012-05-10
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?
0
Comment
Question by:fundsf
  • 5
  • 5
11 Comments
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 34088065
"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
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 34088067
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
 
LVL 48

Expert Comment

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

    ToolStripContainer1.ContentPanel.Controls.Add(ChildForm)

Wayne
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 34088163
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
 

Author Comment

by:fundsf
ID: 34095304
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
 
LVL 86

Expert Comment

by:Mike Tomlinson
ID: 34095321
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
 

Author Comment

by:fundsf
ID: 34095417
Okay. Here is the image. This is VB.Net 2010.
OptionFormNotVisiblewithToolStri.JPG
0
 

Author Comment

by:fundsf
ID: 34095431
Part two with the form seen and the ToolStripContainer not Visible.
OptionFormVisiblewithToolStripCo.JPG
0
 
LVL 86

Accepted Solution

by:
Mike Tomlinson earned 2000 total points
ID: 34095498
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
 

Author Comment

by:fundsf
ID: 34095553
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
 

Author Closing Comment

by:fundsf
ID: 34096859
Thanks, I found my question on the net.
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Screencast - Getting to Know the Pipeline
Look below the covers at a subform control , and the form that is inside it. Explore properties and see how easy it is to aggregate, get statistics, and synchronize results for your data. A Microsoft Access subform is used to show relevant calcul…
Suggested Courses

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question