using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Pilz.UI.Telerik.Dialogs { partial class DialogBaseForm { public delegate void DialogLoadingEventHandler(DialogLoadingEventArgs e); public delegate void DialogClosedEventHandler(DialogClosedEventArgs e); public static event DialogLoadingEventHandler? DialogLoading; public static event DialogClosedEventHandler? DialogClosed; 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 { var dialogPanel = Activator.CreateInstance(); dialogPanel.Dock = DockStyle.Fill; dialogPanel.Tag = tag; 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); return dialogPanel; } } }