EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

如何:调整Windows的大小和样式

在WinForms XAF应用程序中,最终用户可以拖动右下角的尺寸夹点来调整窗口的大小。您还可以在代码中自定义初始表单大小。本主题介绍如何根据显示的视图以编程方式调整窗口大小和自定义窗口。以弹出对话框窗口为例。

Popup_Win

提示

DevExpress代码示例数据库(http://www.devexpress.com/example=E4208)中提供了完整的示例项目。

提示

如何:调整弹出对话框的大小和样式(ASP.NET)主题中提供了ASP.NET的类似示例。

设置弹出窗口的默认大小和样式

可以在XafApplication.CustomizeTemplateFrame.TemplateChanged事件中自定义弹出窗口。如下所示,当激活Controller时,创建一个新的Window Controller并订阅这些事件之一(Controller.Activated事件)。

using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Templates;
//...
public class CustomizeFormSizeController : WindowController {
    protected override void OnActivated() {
        base.OnActivated();
        Window.TemplateChanged  = Window_TemplateChanged;     
    }
    private void Window_TemplateChanged(object sender, EventArgs e) {
        if(Window.Template is System.Windows.Forms.Form && 
Window.Template is ISupportStoreSettings) {
            ((ISupportStoreSettings)Window.Template).SettingsReloaded  = 
OnFormReadyForCustomizations;
        }
    }
    private void OnFormReadyForCustomizations(object sender, EventArgs e) {
        if(YourCustomBusinessCondition(Window.View)) {
            ((System.Windows.Forms.Form)sender).Size = 
((IFormSizeProvider)Window.View.CurrentObject).GetFormSize();
        }
    }
    private bool YourCustomBusinessCondition(View view) {
        return view != null && view.CurrentObject is IFormSizeProvider;
    }
    protected override void OnDeactivated() {
        Window.TemplateChanged -= Window_TemplateChanged;
        base.OnDeactivated();
    }
}

在此代码中,通过从Controller订阅TemplateChanged事件来访问目标窗口模板。然后,在应用默认XAF模板设置之后,处理ISupportStoreSettings.SettingsReloaded事件以进行自定义。另外,您可以处理Form.HandleCreatedForm.Load事件。将您的自定义代码放入OnFormReadyForCustomizations事件处理程序中。

结果,取决于父窗口的大小来确定目标弹出窗口的大小。

根据视图自定义弹出窗口

如果要自定义特定类型的弹出窗口,请创建一个ObjectViewController <ViewType,ObjectType> Controller并指定业务对象类型。要最大化 DemoObject弹出窗口,请执行以下操作:

请参阅PopupWindowShowAction类描述中的示例。

注意

某些表单模板(例如LookupFormPopupFormLookupControlTemplate)可能具有特定的细节。

  • 默认情况下,可以设置最小表单大小(InitialMinimumSize属性)。
  • 可以基于内容来动态地计算大小。
  • 该窗体可能具有大小调整限制(IsSizeable属性)。
  • 窗体大小可能会自动缩小(AutoShrink属性)
  • 窗体可能会扩展以占据整个空间(最大化属性)。
相关文章

转载保留此链接,注明出处