Visual Studio 2010 - 在“项目设置”中使用编辑器FileNameEditor

时间:2012-07-13 20:48:04

标签: vb.net visual-studio-2010

我在项目中使用了很多路径。使用“应用程序设置”时,您可以使用代码PropertyGridPropertyGrid1.SelectedObject = My.Settings()提供“设置”对象。

我读到你可以提供一个对象(在这种情况下是一个自定义对象,而不是My.Settings这个 meta 信息:

<Editor(GetType(System.Windows.Forms.Design.FileNameEditor), _
        GetType(System.Drawing.Design.UITypeEditor))>

当您使用PropertyGrid时,为了应用打开文件浏览器的编辑器。多数民众赞成并且有效。

在VS2010 UI中是否有可能与应用程序设置一起使用?

我的意思是,我意识到将属性的类型设置为System.Windows.Forms.Design.FileNameEditor将设置其类型而不是其编辑器,这是微不足道的。我还试图将System.Windows.Forms.Design.FileNameEditor设置为该属性的提供者而没有运气。

我已打开文件Settings.Designer.vb,我手动添加了一行:

<Editor(GetType(System.Windows.Forms.Design.FileNameEditor), _
        GetType(System.Drawing.Design.UITypeEditor))>

到我希望显示文件选择器并运行的属性。问题是该文件是自动生成的,不应编辑。

如何使用适用于Visual Studio 2010的适当程序重复该行为?

1 个答案:

答案 0 :(得分:1)

只需将应用程序设置读入您自己的类,并将该类分配给propertygrid。我从我的一个项目中略微编辑了这个:

Call MyFilenameClass
 <Editor(GetType(System.Windows.Forms.Design.FileNameEditor), GetType(System.Drawing.Design.UITypeEditor)), _
  Browsable(True), _
  DefaultValue(""), _
  Category("File"), DisplayName("Filename"), Description("Select the file.")> _
  Public Property MyFileName As String = My.Settings.MyFilename
End Class

因此,在创建类时,MyFilename将具有My.Settings.MyFilename的值。在Form_Closing中,您需要将您的值重新放回应用程序设置并保存:

My.Settings.MyFilename = "class name in here".MyFilename
My.Settings.Save