获取或设置应用程序的主窗口。
命名空间:
SuperMap.Desktop程序集: SuperMap.Desktop.Core (in SuperMap.Desktop.Core)
版本: dll
语法
C# |
---|
public IFormMain MainForm { get; set; } |
备注
主窗口主要用来处理界面布局的工作,包括生成 Ribbon 控件、生成浮动窗口、管理各种子窗口等等。
主窗口对应的类继承自 Form 类,同时必须同时实现 IForm 接口和 IFormMain 接口。有关 IForm 接口和 IFormMain 接口的详细信息,请参见 IForm 接口和 IFormMain 接口。
此外,由于 Ribbon 风格的窗口在 .NET Framework 默认的界面库里面没有提供,需要使用第三方的界面库,同时,考虑便于更换界面库的问题,SuperMap iDesktop 没有直接把第三方界面库的相关类型暴露给用户使用,这样就需要在中间增加一层,因此,提供了 FormBase 和 FormBaseChild 两个类,FormBase 类是主窗口的基类,FormBaseChild 类是子窗口的基类,如果主窗口从 FormBase 直接继承,其他的子窗口从 FormBaseChild 类继承,则用户窗口就会具有 Office2007 窗口的风格,否则,用户窗口就不具有 Office2007 窗口的风格。另外,这两个基类还处理了一些窗口关系的问题,同时对相关接口也进行了实现,如果不从这两个类继承,有些工作就需要用户自己重新去做。相关详细信息请参见 FormBase 类和 FormBaseChild 类。
示例
以下代码示范如何关闭浮动窗口、子窗口和执行Ribbon控件的功能(如关闭工作空间)。
CopyC#
override public void Run() { //获取主窗口对象。 IFormMain formMain = Application.ActiveApplication.MainForm; //通过FormManager关闭所有子窗口,并且不保存窗口内容。 formMain.FormManager.CloseAll(false); //通过DockBarManager隐藏掉含有指定控件的浮动窗口。 IDockBar dockBar = formMain.DockBarManager[typeof(MyUserControl)]; if (dockBar != null) dockBar.Visible = false; //通过RibbonManager指定Ribbon控件的功能。 IBaseItem baseItem = formMain.RibbonManager[typeof(MyCtrlActionCloseWorkspace)]; if (baseItem != null) baseItem.CtrlAction.Run(); }