- ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
728 :デフォルトの名無しさん[sage]:2015/02/20(金) 15:36:17.48 ID:mxPSy3AK - PropertyGridにトラックバーを下記のコードで追加したのですが、DropDownで出てきたトラックバーを閉じずに
外部の変数に値を渡すにはどうしたらいいのですか? public class TestClass{ [Editor(typeof(SliderValueEditor), typeof(UITypeEditor))] public int IntegerValue{ get; set; } } public class SliderValueEditor : UITypeEditor { public override System.Drawing.Design.UITypeEditorEditStyle GetEditStyle(System.ComponentModel.ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { IWindowsFormsEditorService editorService = null; if (provider != null) editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; if (editorService != null) { TrackBar trackControl = new TrackBar(); trackControl.ValueChanged += new EventHandler(trackControl_ValueChanged); editorService.DropDownControl(trackControl); value = trackControl.Value; } return value; } private void trackControl_ValueChanged(object sender, EventArgs e) { value = trackControl.Value; // ←DropDownで出てくるトラックバーを閉じずに、外部変数に値を渡したい } }
|
|