小编nit*_*ter的帖子

修改PropertyGrid中的结构属性

为什么SomeClass.ClassField.StructField财产不会改变propertyGrid?看来,实例改变后propertyGrid不会调用.但是相同的代码可以很好地代替.SomeClass.ClassField.setSomeStructPointSomeStruct

[TypeConverter(typeof(ExpandableObjectConverter))]
public struct SomeStruct
{
    private int structField;

    public int StructField
    {
        get
        {
            return structField;
        }
        set
        {
            structField = value;
        }
    }

    public override string ToString()
    {
        return "StructField: " + StructField;
    }
}

[TypeConverter(typeof(ExpandableObjectConverter))]
public sealed class SomeClass
{
    public SomeStruct ClassField
    {
        get;
        set;
    }
}

...

var someClass = new SomeClass
{
    ClassField = new SomeStruct
    {
        StructField = 42
    }
};
propertyGrid.SelectedObject = …
Run Code Online (Sandbox Code Playgroud)

.net propertygrid winforms

6
推荐指数
1
解决办法
2342
查看次数

为什么_get_heap_handle等于GetProcessHeap?

根据这篇文章,CRT使用单独的堆(它是私有堆吗?),但是这个小例子表明CRT堆默认堆是相同的:

HANDLE heaps[64];
DWORD heapCount = GetProcessHeaps(64, heaps);    
for (int i = 0; i<heapCount; i++)
    printf("heap %d : [0x%x]\n", i, heaps[i]);
printf("crt heap[0x%x], default heap[0x%x]\n", _get_heap_handle(), GetProcessHeap());
Run Code Online (Sandbox Code Playgroud)

在什么情况下GetProcessHeap_get_heap_handle返回不同的句柄?

//使用VS2012编译(平台工具集v110)

winapi msvcrt

1
推荐指数
1
解决办法
935
查看次数

标签 统计

.net ×1

msvcrt ×1

propertygrid ×1

winapi ×1

winforms ×1