C#的propertygrid控件是很强。可以实现类似Vitual Studio属性面板那样的效果。
但是。。。。
勇哥一直痛苦它在选择和修改项目的时候很慢。
我的用法是使用控件的SelectObject来绑定数据。
PgridMotionSpeed.SelectedObject = null; PgridMotionSpeed.SelectedObject = InterSpeedConfigData.SpeedConfig;
其中InterSpeedConfigData.SpeedConfig类似下面的定义。
绑定后数据很少,就下面几项。
但是用鼠标点击项目时明显感觉有些卡顿。
此问题网上无人反映,好像大家从来没出现这种问题。
目前勇哥也没有解决方案。
以后有解决方案时会来此续贴。。。。
2020/4/5 注:
后来发现,仅在使用vs调试运行程序时卡顿感觉最明显,貌似跟程序的规模有关系。
如果运行exe执行程序,则卡顿要好很多,但是仔细观察仍然有些吃UI线程的资源的感觉,因为当点击修改项目时,此时UI上的一个tabpage标签会跟着闪烁,而此控件跟这个PropertyGrid根本不在同一个面板上面。(它们都是mid子窗体面板)。
对于vs的调试运行,感觉非常的吃电脑性能,勇哥手里的项目,在速度较差的电脑上面调试运行,还发现程序执行有混乱的现象,例如程序单步执行到某句话后,无异常直接后面语句不执行了。。。(总之越调试越让心惊的感觉,见鬼一样。),但是执行exe,则没有问题。
2022/4/6注:
另外发现在mdi主窗体使用下面代码,也是造成propertygrid控件修改项目很慢的主要原因。(做梦也想不到会有影响)
//protected override CreateParams CreateParams //{ // get // { // CreateParams cp = base.CreateParams; // cp.ExStyle |= 0x02000000; // return cp; // } //}
把上面代码注释掉,现象就排除了。

