小编wha*_*ist的帖子

.NET PropertyGrid:使用 ExpandableObjectConverter 改变复杂对象的读/写权限

我正在尝试编辑 PropertyGrid 控件中的复杂对象。我添加了 ExpandableObjectConverter(或我需要时我自己的子类)作为 TypeConverter 并且它工作正常。

我似乎无法弄清楚的一件事是。在网格中,对象本身将有其 .ToString() 表示形式。然后当我展开对象时,属性具有相同的属性。都可以编辑。我想禁用 ToString() 对象字段的编辑,但保持属性可编辑。

所以在 PropertyGrid 中它看起来像这样;

+ Color      {(R,G,B,A) = (255,255,255,255)}  --uneditable
     Alpha   255                              --editable
     Blue    255                              --editable
     Green   255                              --editable
     Red     255                              --editable
Run Code Online (Sandbox Code Playgroud)

到目前为止,我还没有找到一种方法来做到这一点。如果我尝试将其设为只读,则整个对象将变为只读。如果我指定我自己的 ExpandableObjectConverter 并声明它不能从字符串转换,如果在 PropertyGrid 中编辑字符串,它仍然会尝试转换然后失败。

我基本上只是想要它,这样我就可以阻止最终用户编辑字符串并强制他们编辑单个属性,这样我就不必为每个类编写字符串解析器。

这是可能的,还是有另一种我没有想到的方法?

.net c# propertygrid winforms

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

调试*nix中的多个分叉进程

是否有任何简单的方法来调试*nix中的分叉子进程,而不必让它们睡眠并创建新的gdb实例,使用ps来获取子进程的pid?是否有任何调试器可以执行此操作?

c unix debugging fork

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

标签 统计

.net ×1

c ×1

c# ×1

debugging ×1

fork ×1

propertygrid ×1

unix ×1

winforms ×1