public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { TrackBarOwnerDrawParts parts = TrackBarOwnerDrawParts.None; if (!(value is TrackBarOwnerDrawParts) || (provider == null)) { return(value); } IWindowsFormsEditorService service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (service == null) { return(value); } CheckedListBox control = new CheckedListBox(); control.BorderStyle = BorderStyle.None; control.CheckOnClick = true; control.Items.Add("Ticks", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Ticks) == TrackBarOwnerDrawParts.Ticks); control.Items.Add("Thumb", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Thumb) == TrackBarOwnerDrawParts.Thumb); control.Items.Add("Channel", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Channel) == TrackBarOwnerDrawParts.Channel); service.DropDownControl(control); IEnumerator enumerator = control.CheckedItems.GetEnumerator(); while (enumerator.MoveNext()) { object objectValue = RuntimeHelpers.GetObjectValue(enumerator.Current); parts |= (TrackBarOwnerDrawParts)Enum.Parse(typeof(TrackBarOwnerDrawParts), objectValue.ToString()); } control.Dispose(); service.CloseDropDown(); return(parts); }
public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { TrackBarOwnerDrawParts barOwnerDrawParts = TrackBarOwnerDrawParts.None; if (!(value is TrackBarOwnerDrawParts) || provider == null) { return(value); } IWindowsFormsEditorService formsEditorService = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); if (formsEditorService == null) { return(value); } CheckedListBox checkedListBox = new CheckedListBox(); checkedListBox.BorderStyle = BorderStyle.None; checkedListBox.CheckOnClick = true; checkedListBox.Items.Add((object)"Ticks", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Ticks) == TrackBarOwnerDrawParts.Ticks); checkedListBox.Items.Add((object)"Thumb", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Thumb) == TrackBarOwnerDrawParts.Thumb); checkedListBox.Items.Add((object)"Channel", (((FusionTrackBar)context.Instance).OwnerDrawParts & TrackBarOwnerDrawParts.Channel) == TrackBarOwnerDrawParts.Channel); formsEditorService.DropDownControl((Control)checkedListBox); foreach (object obj in checkedListBox.CheckedItems) { object objectValue = RuntimeHelpers.GetObjectValue(obj); barOwnerDrawParts |= (TrackBarOwnerDrawParts)Enum.Parse(typeof(TrackBarOwnerDrawParts), objectValue.ToString()); } checkedListBox.Dispose(); formsEditorService.CloseDropDown(); return((object)barOwnerDrawParts); }