PropertyGrid的DefaultValueAttribute抛出异常

时间:2013-10-28 05:10:56

标签: c# .net winforms propertygrid

我有以下用于PropertyGrid的自定义类。举个例子:

[DefaultPropertyAttribute("SaveOnClose")]
public class MyData
{
    private UInt32 _MaximumUploadFileSizeKB = _k_MaximumUploadFileSizeKB;

    const UInt32 _k_MaximumUploadFileSizeKB = 262144;

    [CategoryAttribute("Server Settings"),
    DefaultValueAttribute(_k_MaximumUploadFileSizeKB),
    DescriptionAttribute("The maximum allowed upload file size in KBytes.")]
    public UInt32 MaximumUploadFileSizeKB
    {
        get { return _MaximumUploadFileSizeKB; }
        set 
        {
            _MaximumUploadFileSizeKB = value > 0 ? value : 1;
        }
    }
}

PropertyGrid初始化为:

PropertyGrid propertyGrid = new PropertyGrid();

propertyGrid.SelectedObject = new MyData();

这样可行,但是当我尝试将当前选定的属性网格项设置为默认值时:

void ResetFieldToDefault()
{
    propertyGrid.ResetSelectedProperty();   //Throws exception
}

它引发了这个异常:

  

类型对象&Systems.Int64'无法转换为类型   ' System.UInt32'

我在代码中的任何地方都没有看到我使用Int64类型的地方。知道这里发生了什么吗?

0 个答案:

没有答案