{"id":8532,"date":"2024-05-14T09:54:55","date_gmt":"2024-05-14T08:54:55","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=8532"},"modified":"2024-05-14T09:54:56","modified_gmt":"2024-05-14T08:54:56","slug":"devexpress-popup-window-size-state","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/devexpress-popup-window-size-state\/","title":{"rendered":"DevExpress PopUp Window Size State"},"content":{"rendered":"\n<p><a href=\"https:\/\/supportcenter.devexpress.com\/ticket\/details\/t755411\/programmatically-assign-xaf-application-window-size-and-position-at-startup\">https:\/\/supportcenter.devexpress.com\/ticket\/details\/t755411\/programmatically-assign-xaf-application-window-size-and-position-at-startup<\/a><\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"csharp\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">using View = DevExpress.ExpressApp.View;\r\n\/\/\/ &lt;summary>\r\n\/\/\/ Controller om sommige gewone popup detailviews te resizen. De lookup listviews vallen hier niet onder\r\n\/\/\/ Ook zorgt deze controller voor een soort CenterScreen van de be\u00efnvloede popups. CenterParent werkt helaas\r\n\/\/\/ niet want er is geen parent form bekend.\r\n\/\/\/ &lt;\/summary>\r\n[DesignerCategory(OneSysConstants.NoDesigner)]\r\npublic class SetPopupSizeVC : WindowController\r\n{\r\n    protected override void OnActivated()\r\n    {\r\n        base.OnActivated();\r\n        Window.TemplateChanged += Window_TemplateChanged;\r\n    }\r\n\r\n    protected override void OnDeactivated()\r\n    {\r\n        Window.TemplateChanged -= Window_TemplateChanged;\r\n        base.OnDeactivated();\r\n    }\r\n\r\n    private void Window_TemplateChanged(object sender, EventArgs e)\r\n    {\r\n        if (Window.Template is Form &amp;&amp; Window.Template is ISupportStoreSettings)\r\n        {\r\n            ((ISupportStoreSettings)Window.Template).SettingsReloaded += OnFormReadyForCustomizations;\r\n        }\r\n    }\r\n\r\n    private void OnFormReadyForCustomizations(object sender, EventArgs e)\r\n    {\r\n        if (!IsFormSizeProvider(Window.View)) return;\r\n        ((Form)sender).Size = ((IFormSizeProvider)Window.View.CurrentObject).GetFormSize();\r\n        ((Form)sender).StartPosition = FormStartPosition.CenterParent;\r\n    }\r\n\r\n    private bool IsFormSizeProvider(View view) => view?.CurrentObject is IFormSizeProvider;\r\n}<\/pre><\/div>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"csharp\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">public partial class MainWindowController : WindowController  \r\n{  \r\n    public MainWindowController()  \r\n    {  \r\n        InitializeComponent();  \r\n        \/\/ Target required Windows (via the TargetXXX properties) and create their Actions.  \r\n        TargetWindowType = WindowType.Main;  \r\n    }  \r\n\r\n    protected override void OnActivated()  \r\n    {  \r\n        base.OnActivated();  \r\n        \/\/ Perform various tasks depending on the target Window.  \r\n        Window.TemplateChanged += WindowsTemplateChanged;  \r\n    }  \r\n    private void WindowsTemplateChanged(object sender, EventArgs e)  \r\n    {  \r\n        if (Window.Template is System.Windows.Forms.Form &amp;&amp; Window.Template is ISupportStoreSettings)  \r\n        {  \r\n            ((ISupportStoreSettings)Window.Template).SettingsReloaded += OnFormReadyForCustomizations;  \r\n        }  \r\n    }  \r\n\r\n    protected override void OnDeactivated()  \r\n    {  \r\n        Window.TemplateChanged -= WindowsTemplateChanged;  \r\n        \/\/ Unsubscribe from previously subscribed events and release other references and resources.  \r\n        base.OnDeactivated();  \r\n    }  \r\n\r\n    private void OnFormReadyForCustomizations(object sender, EventArgs e)  \r\n    {  \r\n        int newWidth = 1280;  \r\n        int newHeight = 720;  \r\n\r\n        Form mainForm = sender as System.Windows.Forms.Form;  \r\n        \/\/ Ensure that the window state is normal, not maximized  \r\n        mainForm.WindowState = FormWindowState.Normal;  \r\n        \/\/ Setup window location to center of Window screen  \r\n        mainForm.SetDesktopLocation(  \r\n            (int)((SystemInformation.VirtualScreen.Width - newWidth) \/2),  \r\n            (int)((SystemInformation.VirtualScreen.Height - newHeight)\/2));  \r\n        mainForm.Width = newWidth;  \r\n        mainForm.Height = newHeight;  \r\n\r\n    }  \r\n}  <\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/supportcenter.devexpress.com\/ticket\/details\/t755411\/programmatically-assign-xaf-application-window-size-and-position-at-startup<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8532","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=8532"}],"version-history":[{"count":1,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8532\/revisions"}],"predecessor-version":[{"id":8533,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8532\/revisions\/8533"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=8532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=8532"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=8532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}