bars 的布局可以通过 BarManager 自动保存,或者由用户人工保存。 自动保存/恢复 bars 的布局仅当 BarManager 属于 Form 类的实例时才可用。 否则,就需要由用户人工保存/加载设置。 本主题描述了执行此任务的多种方式。
请参阅 自动保存和恢复 Bars 布局 主题获得关于如何自动保存/恢复 bars 布局的信息。
要获得关于保存/恢复停靠面板的信息,请参阅 保存和恢复停靠面板的布局 。
获得关于保存 Ribbon 快速访问工具栏内 bar 命令的信息,请参阅 本链接。
BarManager 和已存储布局内的 bar items 通过它们的
BarItem.Id 属性值进行标识。 对于在设计时刻创建的 items,
BarItem.Id 属性会被自动初始化。 对于在代码中创建的 items,需要人工初始化它们的
BarItem.Id 属性,来让 bars 的布局可以被正确保存和恢复。 要设置
BarItem.Id 属性值,则可以使用
BarManager.GetNewItemId 方法。
注意 |
---|
在 BarManager 已经完全被初始化之前,不要恢复 bars 的布局。 典型地,需要在 Form.Load 事件中恢复布局。
|
注意 |
---|
当保存/加载使用了合并功能的 bars 的布局时,请注意下列事项。 如果在已经合并时保存了 bars 的布局,则不要在 bars 已取消合并之后还加载此布局。 典型地,您需要保存和加载还未取消合并时的 bars 的布局。
|
注意 |
---|
当保存/加载使用了合并功能的 bars 的布局时,请注意下列事项。 如果在已经合并时保存了 bars 的布局,则不要在 bars 已取消合并之后还加载此布局。 典型地,您需要保存和加载还未取消合并时的 bars 的布局。
|
如何把 Bars 的布局保存到系统注册表中
通过调用 BarManager 的 BarManager.SaveLayoutToRegistry 方法,bars 的布局可以保存到系统注册表中。 使用 BarManager.RestoreLayoutFromRegistry 方法则可以恢复这些设置。
可以指定绝对的和相对的注册表键作为参数。 例如,指定 “Software\MyCompany\MyProject\” 作为部分键将导致设置被保存到“HKEY_CURRENT_USER\Software\MyCompany\MyProject\” 路径中。 也可以指定完整的注册表键,例如需要把布局保存到其他根键中时。 下面的示例代码展示了如何将 bars 的布局保存到指定的系统注册表路径中,然后恢复布局。
C# | 复制代码 |
---|
string regKey = "DevExpress\\XtraBars\\Layouts\\MainLayout";
barManager1.SaveLayoutToRegistry(regKey);
barManager1.RestoreLayoutFromRegistry(regKey);
|
Visual Basic | 复制代码 |
---|
Dim regKey As String = "DevExpress\XtraBars\Layouts\MainLayout"
BarManager1.SaveLayoutToRegistry(regKey)
BarManager1.RestoreLayoutFromRegistry(regKey)
|
如何把 Bars 的布局保存到流中
Bars 的布局也可以写入到流中。 调用 BarManager 的 BarManager.SaveLayoutToStream 方法来实现此目的。 可以使用 BarManager.RestoreLayoutFromStream 方法来读取和保存设置。 下面的示例展示了如何完成此任务。 下面的示例代码把布局设置保存到内存流中,然后恢复它们。
C# | 复制代码 |
---|
System.IO.Stream str;
str = new System.IO.MemoryStream();
barManager1.SaveLayoutToStream(str);
str.Seek(0, System.IO.SeekOrigin.Begin);
barManager1.RestoreLayoutFromStream(str);
str.Seek(0, System.IO.SeekOrigin.Begin);
|
Visual Basic | 复制代码 |
---|
Dim str As System.IO.Stream
str = New System.IO.MemoryStream()
BarManager1.SaveLayoutToStream(str)
str.Seek(0, System.IO.SeekOrigin.Begin)
BarManager1.RestoreLayoutFromStream(str)
str.Seek(0, System.IO.SeekOrigin.Begin)
|
如何把 Bars 的布局保存到 XML 文件中
如果需要把 bars 的布局保存到 XML 文件中,则调用 BarManager 的 BarManager.SaveLayoutToXml 方法。 BarManager.RestoreLayoutFromXml 方法从 XML 文件中恢复先前保存的布局设置。 下面的示例代码展示了如何在运行时刻保存和加载 bars 的布局。
C# | 复制代码 |
---|
string fileName = "c:\\XtraBars_SaveToXML.xml";
barManager1.SaveLayoutToXml(fileName);
barManager1.RestoreLayoutFromXml(fileName);
|
Visual Basic | 复制代码 |
---|
Dim fileName As String = "c:\XtraBars_SaveToXML.xml"
BarManager1.SaveLayoutToXml(fileName)
BarManager1.RestoreLayoutFromXml(fileName)
|
使用 XtraBars 编辑器 提供的功能,先前保存到 XML 文件中的布局也可以在设计时刻加载和应用到 bars 中, 请参阅 保存和恢复布局页面 主题来获得相关信息。
参阅