windowsforms-devexpress-dot-utils-d7fcdfcb.md
Manages layouts of all DevExpress controls in the application as one global workspace. Workspaces can be saved and restored to (from) a local storage or stream.
Namespace : DevExpress.Utils
Assembly : DevExpress.Utils.v25.2.dll
NuGet Packages : DevExpress.Utils, DevExpress.Wpf.Core
[DXLicenseWinForms]
public class WorkspaceManager :
Component
<DXLicenseWinForms>
Public Class WorkspaceManager
Inherits Component
The following members return WorkspaceManager objects:
Workspace Manager is a tiny but powerful tool that detects other DevExpress components used in the application and provides a centralized way to save/load their layouts as one global workspace.
See the Workspace Manager topic to learn more.
The following code shows how to use the WorkspaceManager component to save the form’s bounds and state, and the layout of DevExpress controls when a form is closed, and load this layout when the form starts.
You may need to call the controls’ ForceInitialize methods (e.g., GridControl.ForceInitialize) before applying layouts to the controls in a Form.Load event handler.
string file = "layout.xml";
string workspaceName1 = "MyLayout";
private void Form1_Load(object sender, EventArgs e) {
//Use the WorkspaceManager to handle the layout of DevExpress controls that reside within the current form.
workspaceManager1.TargetControl = this;
// Save & restore the form's size, position and state along with DevExpress controls' layouts.
workspaceManager1.SaveTargetControlSettings = true;
// Disable layout load animation effects
workspaceManager1.AllowTransitionAnimation = DevExpress.Utils.DefaultBoolean.False;
// Disable (de)serialization for the following controls (if required):
//WorkspaceManager.SetSerializationEnabled(gaugeControl1, false);
//WorkspaceManager.SetSerializationEnabled(accordionControl1, false);
// When restoring layouts of controls in a Form.Load event handler,
// you may need to call the controls' ForceInitialize methods to finish their initialization before restoring their layouts.
//gridControl1.ForceInitialize();
//dockManager1.ForceInitialize();
//barManager1.ForceInitialize();
//...
//Load DevExpress controls' layouts from a file
if (workspaceManager1.LoadWorkspace(workspaceName1, file, true))
workspaceManager1.ApplyWorkspace(workspaceName1);
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e) {
//Save DevExpress controls' layouts to a file
workspaceManager1.CaptureWorkspace(workspaceName1, true);
workspaceManager1.SaveWorkspace(workspaceName1, file, true);
}
Dim file As String = "layout.xml"
Dim workspaceName1 As String = "MyLayout"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' Use the WorkspaceManager to handle the layout of DevExpress controls that reside within the current form.
WorkspaceManager1.TargetControl = Me
' Save & restore the form's size, position and state along with DevExpress controls' layouts.
WorkspaceManager1.SaveTargetControlSettings = True
' Disable layout load animation effects
WorkspaceManager1.AllowTransitionAnimation = DevExpress.Utils.DefaultBoolean.False
' Disable (de)serialization for the following controls (if required):
'WorkspaceManager.SetSerializationEnabled(GaugeControl1, False)
'WorkspaceManager.SetSerializationEnabled(AccordionControl1, False)
' When restoring layouts of controls in a Form.Load event handler,
' you may need to call the controls' ForceInitialize methods to finish their initialization before restoring their layouts.
'GridControl1.ForceInitialize()
'DockManager1.ForceInitialize()
'BarManager1.ForceInitialize()
'...
' Load DevExpress controls' layouts from a file
If WorkspaceManager1.LoadWorkspace(workspaceName1, file, True) Then
WorkspaceManager1.ApplyWorkspace(workspaceName1)
End If
End Sub
Private Sub Form1_FormClosed(sender As Object, e As FormClosedEventArgs) Handles MyBase.FormClosed
' Save DevExpress controls' layouts to a file
WorkspaceManager1.CaptureWorkspace(workspaceName1, True)
WorkspaceManager1.SaveWorkspace(workspaceName1, file, True)
End Sub
Object MarshalByRefObject Component WorkspaceManager
See Also