public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, IServiceProvider provider, object value) { service = (IWindowsFormsEditorService)provider.GetService(typeof(IWindowsFormsEditorService)); // show the list box if (service != null) { XnaKeys k = (XnaKeys)value; result = k; popupateLayers(); service.DropDownControl(listBox); value = result; return(value); } else { return(XnaKeys.None); } // return base.EditValue(context, provider, value); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (value is XnaKeys && value is XnaKeys) { XnaKeys k = (XnaKeys)value; if (destinationType == typeof(string)) { return(k.ToString()); } } return(XnaKeys.None); }
public KeyTypeEditor() { listBox = new ListBox(); listBox.SelectedIndexChanged += (s, a) => { if (service != null) { object selected = listBox.SelectedItem; if (selected != null) { result = (XnaKeys)selected; } //Console.WriteLine("KEY VALUE IS : " + result); service.CloseDropDown(); } }; }