using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing.Design; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace GeoSigma.SigmaDrawerStyle { /// /// 数据来源选择框 /// public class PropertyEditorGriddingSource : UITypeEditor { private OpenFileDialog fileDialog = new OpenFileDialog(); /// public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context) { return UITypeEditorEditStyle.DropDown; } /// public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { fileDialog.FileName = value?.ToString(); fileDialog.Filter = "Point File|*.xyz|Text File|*.txt|All Files|*.*"; if (fileDialog.ShowDialog() == DialogResult.OK) { return fileDialog.FileName; } return base.EditValue(context, provider, value); } } }