我在项目中使用了很多路径。使用“应用程序设置”时,您可以使用代码PropertyGrid
向PropertyGrid1.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的适当程序重复该行为?
答案 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