代码之家  ›  专栏  ›  技术社区  ›  Andreas Brinck

如何在属性网格中编辑文件名集合?

  •  2
  • Andreas Brinck  · 技术社区  · 14 年前

        private List<string> m_files
    
        public List<string> Files
        {
            get
            {
                return m_files;
            }
            set
            {
                m_files = value;
            }
        }
    

    我希望能够在属性网格中显示和编辑此集合,特别是我希望能够使用标准 FileDialog . 哪种方法最简单?

    2 回复  |  直到 14 年前
        1
  •  0
  •   Hans Passant    14 年前

    您可以劫持StringCollectionEditor以获得廉价的解决方案:

        [Editor("System.Windows.Forms.Design.StringCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
        public List<string> Files {
            get { return m_files; }
            set { m_files = value; }
        }
    

    但实际检查文件或使用OFD需要编写自己的UITypeEditor。请记住 在设计时,这些文件中的任何一个都不能代表部署项目时它们将具有的路径。

        2
  •  1
  •   Thomas Levesque    14 年前

    使用 EditorAttribute 指定使用 CollectionEditor :

    private List<string> m_files
    
    [EditorAttribute(typeof(System.ComponentModel.Design.CollectionEditor), typeof(System.Drawing.Design.UITypeEditor))]
    public List<string> Files
    {
        get
        {
            return m_files;
        }
        set
        {
            m_files = value;
        }
    }