2010-11-09 25 views
2

我有文件名的C#类集合:如何编辑属性网格中的文件名集合?

private List<string> m_files 

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

我希望能够显示在属性网格编辑此集合,具体我希望能够将文件添加到这个集合与标准FileDialog。这是最简单的方法来完成这一点?

回答

0

你可以劫持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。请记住,在设计时文件的路径绝不代表他们在部署项目时的路径。

1

使用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; 
    } 
} 
+0

有没有办法将'FileDialog'连接到CollectionEditor? – 2010-11-09 13:50:19

+2

创建一个自定义的CollectionEditor http://www.codeproject.com/KB/tabs/propertygridcollection.aspx – Kell 2010-11-09 14:03:18

+0

此代码无效,TypeConverter将需要使用CollectionEditor。 – 2010-11-09 15:56:53

相关问题