我无法在Properties Settings.settings类型的browse选项中找到System.Drawing.PointF类型。为什么没有列在那里?
如何重现: 转到您的Projects Properties文件夹,然后单击Settings.settigs。在类型中,选择“浏览”,导航到“System.Drawing \ System.Drawing”。您可以看到没有列出PointF。
答案 0 :(得分:2)
可能是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
。