/// <summary> /// 使用GetEditStyle方法所指示的编辑器样式编辑指定对象的值 /// </summary> /// <param name="context">可用于获取附加上下文信息的 ITypeDescriptorContext</param> /// <param name="provider">IServiceProvider,通过它可能获得编辑服务</param> /// <param name="value">正在编辑的值的实例</param> /// <returns>新的对象值,如果该对象的值尚未更改,则这应返回与传递给它的对象相同的对象</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { //if (provider != null) //编辑服务的对象不为空 //{ // //显示一个省略号 (...) 按钮,该按钮可启动模式对话框,对于这种对话框,用户必须输入数据才能继续程序; // //该按钮也可以启动非模式对话框,这种对话框停留在屏幕上,可供用户随时使用,但它允许用户执行其他活动。 editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; //} //object类型转换成自定义结构体方法 //FuzzyStruct temp = (FuzzyStruct)value; //List<List<string>> temp = (List<List<string>>)value; Fuzzy ConvertTool = new Fuzzy(); FuzzyForm1 Newfrm = new FuzzyForm1(ConvertTool.ListToStruct((List <string>)value)); editorService.ShowDialog(Newfrm); return(ConvertTool.StructToList(Newfrm.newStruct)); }
/// <summary> /// 使用GetEditStyle方法所指示的编辑器样式编辑指定对象的值 /// </summary> /// <param name="context">可用于获取附加上下文信息的 ITypeDescriptorContext</param> /// <param name="provider">IServiceProvider,通过它可能获得编辑服务</param> /// <param name="value">正在编辑的值的实例</param> /// <returns>新的对象值,如果该对象的值尚未更改,则这应返回与传递给它的对象相同的对象</returns> public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { //if (provider != null) //编辑服务的对象不为空 //{ // //显示一个省略号 (...) 按钮,该按钮可启动模式对话框,对于这种对话框,用户必须输入数据才能继续程序; // //该按钮也可以启动非模式对话框,这种对话框停留在屏幕上,可供用户随时使用,但它允许用户执行其他活动。 editorService = provider.GetService(typeof(IWindowsFormsEditorService)) as IWindowsFormsEditorService; //} //object类型转换成自定义结构体方法 //FuzzyStruct temp = (FuzzyStruct)value; //List<List<string>> temp = (List<List<string>>)value; Fuzzy ConvertTool = new Fuzzy(); FuzzyForm1 Newfrm = new FuzzyForm1(ConvertTool.ListToStruct((List<string>)value)); editorService.ShowDialog(Newfrm); return ConvertTool.StructToList(Newfrm.newStruct); }