我无法在 Properties Settings.settings 类型的浏览选项中找到类型 System.Drawing.PointF。为什么它没有在那里列出?
如何重现:转到您的 Projects Properties 文件夹并单击 Settings.settigs。在类型上,选择浏览,导航到 System.Drawing \ System.Drawing。您可以看到不会列出任何 PointF。
我无法在 Properties Settings.settings 类型的浏览选项中找到类型 System.Drawing.PointF。为什么它没有在那里列出?
如何重现:转到您的 Projects Properties 文件夹并单击 Settings.settigs。在类型上,选择浏览,导航到 System.Drawing \ System.Drawing。您可以看到不会列出任何 PointF。
这可能是事实PointF
没有TypeConverterAttribute
但Point
有。设置提供程序的工作方式需要一种将字符串转换为对象的方法,以便DefaultSettingValueAttribute
可以设置默认值。
我过去使用的一种解决方法是拆分类并动态构建它。在您的设置文件中创建两个名为MyPointFX
和的浮动设置MyPointFY
。然后单击设置页面顶部的“查看代码”,在新文件中添加以下代码
public PointF MyPointF
{
get
{
return new PointF(MyPointFX, MyPointFY);
}
set
{
MyPointFX = value.X;
MyPointFY = value.Y;
}
}
然后,您将能够访问MyPointF
并在后台读取和写入两个变量的设置MyPointFX
和MyPointFY
.