public override Object EditValue(ITypeDescriptorContext context, IServiceProvider provider, Object value) { if ((context != null) && (provider != null)) { var svc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (svc != null) { var externalVault = GetExternalVault(context, value); if (externalVault == null) { var fmt = GetVaultFormat(context, value); var uri = GetUri(context, value); if (uri != null) { using (var browser = new DataVaultBrowserForm(fmt, uri)) { browser.Approver = ApproveSelection; if (svc.ShowDialog(browser) == DialogResult.OK) { value = browser.SelectedElement; } } } else { // just do nothing - crash is an unsuitable behavior here } } else { using (var browser = new DataVaultBrowserForm(externalVault)) { browser.Approver = ApproveSelection; if (svc.ShowDialog(browser) == DialogResult.OK) { value = browser.SelectedElement; } } } } } return(base.EditValue(context, provider, value)); }
public override Object EditValue(ITypeDescriptorContext context, IServiceProvider provider, Object value) { if ((context != null) && (provider != null)) { var svc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (svc != null) { var externalVault = GetExternalVault(context, value); if (externalVault == null) { var fmt = GetVaultFormat(context, value); var uri = GetUri(context, value); if (uri != null) { using (var browser = new DataVaultBrowserForm(fmt, uri)) { browser.Approver = ApproveSelection; if (svc.ShowDialog(browser) == DialogResult.OK) { value = browser.SelectedElement; } } } else { // just do nothing - crash is an unsuitable behavior here } } else { using (var browser = new DataVaultBrowserForm(externalVault)) { browser.Approver = ApproveSelection; if (svc.ShowDialog(browser) == DialogResult.OK) { value = browser.SelectedElement; } } } } } return base.EditValue(context, provider, value); }
private void buttonFromRepository_Click(object sender, EventArgs e) { var text = ""; using (var repo = RepositoryEditor.Repository()) { var dvbf = new DataVaultBrowserForm(repo) {Approver = Acceptor, StartPosition = FormStartPosition.CenterScreen,}; if (dvbf.ShowDialog(this) == DialogResult.OK) { var element = dvbf.SelectedElement as IValue; text = element.ContentString; } } _value = null; Value = text; }