Visual Studio IDE like program.

Posted on 2005-04-28
Last Modified: 2010-04-23
We want to design our application like visual studio does it's IDE.  Specifically we like the way you can:
1.  "Dock" panels on the side
2.  Hit the thumbtack to lock it in place
3.  Have it smoothly glide out from the side when hovering over minimized description.

Does anyone know a way to do this without writing a control from scratch?
Question by:QualityData
    LVL 25

    Expert Comment

    Do you want it to be a MDI application ?

    Author Comment

    I think we are going to have to make it an MDI.
    LVL 25

    Expert Comment


    Author Comment

    We thought we might have to use panels with splitters as that example seemed to show.   We are surprised that microsoft has not offered a way to emulate its IDE environment easily.  We can add some button to dock/thumbtack the panels but we would like is some way to glide or slowly slide the panels out like in the IDE.  Any sugestions?
    LVL 25

    Accepted Solution

    I don't know a way to slide panels. I do know how to slide forms though.

    Private Declare Function AnimateWindow Lib "user32" _
           (ByVal hwnd As Integer, ByVal dwTime As Integer, _
           ByVal dwFlags As Integer) As Boolean

        Private Const AW_HOR_POSITIVE = &H1 'Animates the window from left to right. This flag can be used with roll or slide animation.
        Private Const AW_HOR_NEGATIVE = &H2 'Animates the window from right to left. This flag can be used with roll or slide animation.
        Private Const AW_VER_POSITIVE = &H4 'Animates the window from top to bottom. This flag can be used with roll or slide animation.
        Private Const AW_VER_NEGATIVE = &H8 'Animates the window from bottom to top. This flag can be used with roll or slide animation.
        Private Const AW_CENTER = &H10 'Makes the window appear to collapse inward if AW_HIDE is used or expand outward if the AW_HIDE is not used.
        Private Const AW_HIDE = &H10000 'Hides the window. By default, the window is shown.
        Private Const AW_ACTIVATE = &H20000 'Activates the window.
        Private Const AW_SLIDE = &H40000 'Uses slide animation. By default, roll animation is used.
        Private Const AW_BLEND = &H80000 'Uses a fade effect. This flag can be used only if hwnd is a top-level window.

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim f1 As New Form1
            AnimateWindow(f1.Handle.ToInt32, 300, AW_HOR_NEGATIVE Or AW_SLIDE)
            f1.Show() ' makes the components show
            f1.Refresh() ' makes the background paint
        End Sub
    LVL 25

    Expert Comment

    By the way the IDE of visual studio uses forms not panels.

    Author Comment

    Yah, you're right the IDE uses forms.  I guess the trick is to get the splitter control working with forms.  

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Join & Write a Comment

    Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
    Since .Net 2.0, Visual Basic has made it easy to create a splash screen and set it via the "Splash Screen" drop down in the Project Properties.  A splash screen set in this manner is automatically created, displayed and closed by the framework itsel…
    Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
    Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

    732 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

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now