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!
Any feedback on this yet? Still waiting for a response.
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(); } } }
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
if (item != e.Pane) item.Show();
e.Pane.DockAreaPane.Tag = false;
e.Pane.DockAreaPane.ResetSize();