Solved

MDI Form with a ToolStripContainer

Posted on 2010-11-08
11
3,248 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 47

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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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 500 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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
Michael from AdRem Software explains how to view the most utilized and worst performing nodes in your network, by accessing the Top Charts view in NetCrunch network monitor (https://www.adremsoft.com/). Top Charts is a view in which you can set seve…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

691 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