diff --git a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs index 6bc58a7..c9eb1ff 100644 --- a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs +++ b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.Statics.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using static System.Windows.Forms.VisualStyles.VisualStyleElement.Window; namespace Pilz.UI.Telerik.Dialogs { @@ -19,26 +20,36 @@ namespace Pilz.UI.Telerik.Dialogs public static T ShowDialog(string title, Icon icon, object? tag = null) where T : FlyoutDialogBase { return ShowDialog(null, title, icon, tag); - } + } - public static T ShowDialog(IWin32Window? parent, string title, Icon icon, object? tag = null) where T : FlyoutDialogBase + public static T ShowDialog(IWin32Window? parent, string title, Icon icon, object? tag = null) where T : FlyoutDialogBase { - var dialogPanel = Activator.CreateInstance(); - dialogPanel.Dock = DockStyle.Fill; - dialogPanel.Tag = tag; + T dialogPanel = Activator.CreateInstance(); + dialogPanel.Tag = tag; + return ShowDialog(dialogPanel, parent, title, icon); + } - var dialog = new DialogBaseForm - { - DialogPanel = dialogPanel, - Text = title, - Icon = icon, - StartPosition = parent == null ? FormStartPosition.CenterScreen : FormStartPosition.CenterParent, - ClientSize = dialogPanel.Size - }; - dialog.Controls.Add(dialogPanel); - dialog.ShowDialog(parent); + public static T ShowDialog(T dialogPanel, string title, Icon icon) where T : FlyoutDialogBase + { + return ShowDialog(dialogPanel, null, title, icon); + } - return dialogPanel; - } + public static T ShowDialog(T dialogPanel, IWin32Window? parent, string title, Icon icon) where T: FlyoutDialogBase + { + dialogPanel.Dock = DockStyle.Fill; + + var dialog = new DialogBaseForm(dialogPanel) + { + Text = title, + Icon = icon, + StartPosition = parent == null ? FormStartPosition.CenterScreen : FormStartPosition.CenterParent, + ClientSize = dialogPanel.Size + }; + + dialog.Controls.Add(dialogPanel); + dialog.ShowDialog(parent); + + return dialogPanel; + } } } diff --git a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.cs b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.cs index 06a6ef3..e73bd15 100644 --- a/Pilz.UI.Telerik/Dialogs/DialogBaseForm.cs +++ b/Pilz.UI.Telerik/Dialogs/DialogBaseForm.cs @@ -18,6 +18,11 @@ namespace Pilz.UI.Telerik.Dialogs FormClosed += DialogBaseForm_FormClosed; } + public DialogBaseForm(FlyoutDialogBase? dialogPanel) : this() + { + DialogPanel = dialogPanel; + } + private void DialogBaseForm_Load(object? sender, EventArgs e) { if (DialogPanel is ILoadContent iLoadContent)