36 lines
970 B
C#
36 lines
970 B
C#
using Pilz.UI.WinForms;
|
|
using Telerik.WinControls.UI;
|
|
|
|
namespace Pilz.UI.Telerik.Dialogs;
|
|
|
|
public partial class RadDialogBase : RadForm
|
|
{
|
|
public RadFlyoutBase? DialogPanel { get; private set; }
|
|
|
|
private RadDialogBase()
|
|
{
|
|
Load += DialogBaseForm_Load;
|
|
FormClosed += DialogBaseForm_FormClosed;
|
|
}
|
|
|
|
public RadDialogBase(RadFlyoutBase dialogPanel) : this()
|
|
{
|
|
DialogPanel = dialogPanel;
|
|
}
|
|
|
|
private void DialogBaseForm_Load(object? sender, EventArgs e)
|
|
{
|
|
if (DialogPanel is ILoadContent iLoadContent)
|
|
iLoadContent.LoadContent();
|
|
else if (DialogPanel is ILoadContentAsync iLoadContentAsync)
|
|
Task.Run(iLoadContentAsync.LoadContentAsync).Wait();
|
|
|
|
DialogLoading?.Invoke(new DialogLoadingEventArgs(this));
|
|
}
|
|
|
|
private void DialogBaseForm_FormClosed(object? sender, FormClosedEventArgs e)
|
|
{
|
|
DialogClosed?.Invoke(new DialogClosedEventArgs(this));
|
|
}
|
|
}
|