Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
1015
Maximizing a Dock Pane to fill the entire form on double click
posted

Hello,

I'm working with an UltraDockManager on a WinForms application that looks something like this:

The area in question is highlighted in yellow above, labeled "Schedule". This area is a user control that contains an UltraDayView/UltraWeekView that allows the user to add appointments, etc. What I'm hoping to be able to do is to double click the pane's header, and have the yellow area maximize to fill the entire form like this, where the yellow would be a UltraDayView/UltraWeekView set to fill the screen:

And then go back to its pinned position on another double click. I'd like to achieve this without allowing the dock area containing the Schedule to float. Is this possible with any pre-defined methods or combination of properties? What event should I be looking for in order to achieve this functionality, if it doesn't exist already?

Any help, comments, or input is greatly appreciated.

Thanks!

Parents
  • 1015
    posted

    Any feedback on this yet? Still waiting for a response.

  • 53790
    Verified Answer
    posted in reply to Melissa

    Hello Melissa,

    Could yuu please take a look at the attached sample and vidoe file. This is one possible way to achieve desired behavior. Let me know if you have any questions.

    Regards

    private void ultraDockManager1_PaneActivate(object sender, Infragistics.Win.UltraWinDock.ControlPaneEventArgs e)

    {

        if (e.Pane.DockedState == Infragistics.Win.UltraWinDock.DockedState.Floating)

        {

            e.Pane.Dock(true);

            e.Pane.Pin();

            if (Convert.ToBoolean(e.Pane.DockAreaPane.Tag) != true)

            {

                foreach (DockableControlPane item in ultraDockManager1.ControlPanes)

                {

                    if (item != e.Pane) item.Close();

                }

                e.Pane.DockAreaPane.Tag = true;

                e.Pane.DockAreaPane.Size = new Size(this.Width - 20, this.Height - 40);

            }

            else

            {

                foreach (DockableControlPane item in ultraDockManager1.ControlPanes)

                {

                    if (item != e.Pane) item.Show();

                }

                e.Pane.DockAreaPane.Tag = false;

                e.Pane.DockAreaPane.ResetSize();

            }

     

        }

    }

     

    UltraDockManagerPaneResize.zip
Reply Children