Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
discount 30 + hiring
Avatar
HONZ4
Člen
Avatar
HONZ4:15.5.2018 17:45

Zdravím vás, vytvářím vlastní prvek (speciální button). Jde o potomka Control , IButtonControl (dědit z Buttonu nechci), ale nevím jak vytvořit vlastnost DialogResult, tak aby byla funkční po nastavení jako AcceptButton okna.
Nevíte někdo prosím?

Editováno 15.5.2018 17:46
 
Odpovědět
15.5.2018 17:45
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
HONZ4
Člen
Avatar
HONZ4:15.5.2018 19:39

Mám to:

[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
public virtual DialogResult DialogResult
{
    get { return _dialogResult; }
    set
    {
        if (Enum.IsDefined(typeof(DialogResult), value))
        {
            _dialogResult = value;
        }
    }
}

private Form GetParentForm()
{
    Control c = this;
    try
    {
        while (c != null && !(c is Form))
        {
            c = c.Parent;
        }
        return (Form)c;
    }
    catch(Exception)
    {
        return null;
    }
}

protected override void OnClick(EventArgs e)
{
    Form form = GetParentForm();
    if (form != null)
    {
        form.DialogResult = _dialogResult;
        AccessibilityNotifyClients(AccessibleEvents.StateChange, -1);
        AccessibilityNotifyClients(AccessibleEvents.NameChange, -1);
    }
    base.OnClick(e);
}

Doufám, že jsem na nic nezapomněl.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
15.5.2018 19:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.