我想实现一个自定义的FileNameEditor;我想设置我自己的过滤器,并且我想能够选择多个文件。
public class Settings
{
    [EditorAttribute(typeof(FileNamesEditor), typeof(System.Drawing.Design.UITypeEditor))]
    public string FileNames { get; set; }
}
public class FileNamesEditor : FileNameEditor
{
    protected override void InitializeDialog(OpenFileDialog openFileDialog)
    {
        openFileDialog.Multiselect = true;
        openFileDialog.Filter = "Word|*.docx|All|*.*";
        base.InitializeDialog(openFileDialog);
    }
}这会忽略filter属性,尽管我可以选择多个文件,但不能将它们分配给我的Settings.FileNames属性,因为Settings.FileNames是string[]类型,而派生类的结果是string。我如何告诉我的派生类返回openFileDialog的FileNames,以及如何使过滤器工作?我遗漏了什么?
发布于 2012-10-20 23:59:15
也许可以为string[]使用ArrayEditor
public class Settings
{
  [EditorAttribute(typeof(System.ComponentModel.Design.ArrayEditor),  typeof(System.Drawing.Design.UITypeEditor))]
  public string[] FileNames { get ; set; }
}https://stackoverflow.com/questions/12989745
复制相似问题