1

我无法在 Properties Settings.settings 类型的浏览选项中找到类型 System.Drawing.PointF。为什么它没有在那里列出?

如何重现:转到您的 Projects Properties 文件夹并单击 Settings.settigs。在类型上,选择浏览,导航到 System.Drawing \ System.Drawing。您可以看到不会列出任何 PointF。

4

1 回答 1

2

这可能是事实PointF没有TypeConverterAttributePoint有。设置提供程序的工作方式需要一种将字符串转换为对象的方法,以便DefaultSettingValueAttribute可以设置默认值。

我过去使用的一种解决方法是拆分类并动态构建它。在您的设置文件中创建两个名为MyPointFX和的浮动设置MyPointFY。然后单击设置页面顶部的“查看代码”,在新文件中添加以下代码

public PointF MyPointF
{
    get
    {
        return new PointF(MyPointFX, MyPointFY);
    }
    set 
    { 
        MyPointFX = value.X;
        MyPointFY = value.Y;
    }
}

然后,您将能够访问MyPointF并在后台读取和写入两个变量的设置MyPointFXMyPointFY.

于 2013-07-12T16:16:56.617 回答