我在C#类中有一组文件名:
private List<string> m_files
public List<string> Files
{
get
{
return m_files;
}
set
{
m_files = value;
}
}
我希望能够在属性网格中显示和编辑此集合,特别是我希望能够使用标准FileDialog
将文件添加到此集合中。哪种方法最简单?
答案 0 :(得分: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;
}
}
答案 1 :(得分: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。请记住,设计时文件的路径绝不代表部署项目时的路径。