public BasicEditDialog(IServiceProvider serviceProvider, BasicItem existing) : base(serviceProvider) { InitializeComponent(); var container = new CompositeDisposable(); FormClosed += (sender, args) => container.Dispose(); txtDomain.Text = existing.Domain; txtRealm.Text = existing.Realm; container.Add( Observable.FromEventPattern <EventArgs>(btnOK, "Click") .Subscribe(evt => { existing.Domain = txtDomain.Text; existing.Realm = txtRealm.Text; existing.Apply(); DialogResult = DialogResult.OK; })); }