public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { if ((value is byte[]) && (provider != null)) { IWindowsFormsEditorService service = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; if (service != null) { using (HexEditorForm frm = new HexEditorForm((byte[])value)) { if (service.ShowDialog(frm) == DialogResult.OK) { value = frm.Data; } } } } return(value); }
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value) { if (!(value is byte[])) { return(value); } // Uses the IWindowsFormsEditorService to display a // drop-down UI in the Properties window. IWindowsFormsEditorService edSvc = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (edSvc != null) { // Display an angle selection control and retrieve the value. var editor = new HexEditorForm((byte[])value); if (edSvc.ShowDialog(editor) == DialogResult.OK) { return(editor.Data); } } return(value); }