private void bCertSelection_Click(object sender, EventArgs e) { using (X509CertificatePicker dialog = new X509CertificatePicker(this.storeName, this.storeLocation)) { this.Cursor = Cursors.WaitCursor; this.certificate = dialog.PickCertificate(this.Handle); this.Cursor = Cursors.Default; if (this.certificate != null) { txCertificate.Text = this.certificate.SubjectName.Name; } } }
/// <summary> /// Edits the specified object's value using the editor style indicated by the <see cref="M:System.Drawing.Design.UITypeEditor.GetEditStyle"></see> method. /// </summary> /// <param name="context">An <see cref="T:System.ComponentModel.ITypeDescriptorContext"></see> that can be used to gain additional context information.</param> /// <param name="provider">An <see cref="T:System.IServiceProvider"></see> that this editor can use to obtain services.</param> /// <param name="value">The object to edit.</param> /// <returns> /// The new value of the object. If the value of the object has not changed, this should return the same object it was passed. /// </returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IUIService svc = (IUIService)provider.GetService(typeof(IUIService)); IDictionaryService dictService = (IDictionaryService) provider.GetService(typeof(IDictionaryService)); StoreName storeName = (StoreName) dictService.GetValue(storeNameArgument); StoreLocation storeLocation = (StoreLocation)dictService.GetValue(storeLocationArgument); X509FindType findType = (X509FindType)dictService.GetValue(findTypeArgument); using (X509CertificatePicker certPicker = new X509CertificatePicker(storeName, storeLocation)) { X509Certificate2 selectedCert = certPicker.PickCertificate( svc != null ? svc.GetDialogOwnerWindow().Handle : IntPtr.Zero); if (selectedCert != null) { return X509CertificateHelper.GetFindValue(findType, selectedCert); } else { return null; } } }
private void bCertSelection_Click(object sender, EventArgs e) { using (X509CertificatePicker dialog = new X509CertificatePicker(this.storeName, this.storeLocation)) { this.Cursor = Cursors.WaitCursor; this.certificate = dialog.PickCertificate(this.Handle); this.Cursor = Cursors.Default; if(this.certificate != null) { txCertificate.Text = this.certificate.SubjectName.Name; } } }