当前位置:首页 > C#编程 > C#/.net框架 > 正文内容

C#的propertygrid控件,选择和修改项目时很慢

Jorge2年前 (2022-05-08)C#/.net框架745

C#的propertygrid控件是很强。可以实现类似Vitual Studio属性面板那样的效果。

但是。。。。


我们一直痛苦它在选择和修改项目的时候很慢。


我的用法是使用控件的SelectObject来绑定数据。

C#
 PgridMotionSpeed.SelectedObject = null;
 PgridMotionSpeed.SelectedObject = InterSpeedConfigData.SpeedConfig;


其中InterSpeedConfigData.SpeedConfig类似下面的定义。

image.png

绑定后数据很少,就下面几项。

但是用鼠标点击项目时明显感觉有些卡顿。

image.png


此问题网上无人反映,好像大家从来没出现这种问题。

目前我们也没有解决方案。


以后有解决方案时会来此续贴。。。。


2020/4/5 注:

后来发现,仅在使用vs调试运行程序时卡顿感觉最明显,貌似跟程序的规模有关系。

如果运行exe执行程序,则卡顿要好很多,但是仔细观察仍然有些吃UI线程的资源的感觉,因为当点击修改项目时,此时UI上的一个tabpage标签会跟着闪烁,而此控件跟这个PropertyGrid根本不在同一个面板上面。(它们都是mid子窗体面板)。


对于vs的调试运行,感觉非常的吃电脑性能,勇哥手里的项目,在速度较差的电脑上面调试运行,还发现程序执行有混乱的现象,例如程序单步执行到某句话后,无异常直接后面语句不执行了。。。(总之越调试越让心惊的感觉,见鬼一样。),但是执行exe,则没有问题。


2022/4/6注:

另外发现在mdi主窗体使用下面代码,也是造成propertygrid控件修改项目很慢的主要原因。(做梦也想不到会有影响)

C#
 //protected override CreateParams CreateParams
        //{
        //    get
        //    {
        //        CreateParams cp = base.CreateParams;
        //        cp.ExStyle |= 0x02000000;
        //        return cp;
        //    }
        //}

把上面代码注释掉,现象就排除了。



#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。


扫描二维码推送至手机访问。

版权声明:本文由7点博客发布,如需转载请注明出处。

本文链接:http://6dot.cn/?id=38

标签: .NET.NET框架
分享给朋友:

“C#的propertygrid控件,选择和修改项目时很慢” 的相关文章

C# 控件闪烁问题的解决

C# 控件闪烁问题的解决

说一下解决C#下控件闪烁的几个问题,如下:  listview和datagridview显示数据闪烁 自定义控件的显示闪烁listbox滚动条拖动闪烁面板中控件过多的闪烁propertyGrid点击和修改项目缓慢的问题richtextbox控件的刷新显示问题此类问题对于界面复杂规...

C#:多进程开发,控制进程数量

C#:多进程开发,控制进程数量

正在c#程序优化时,如果多线程效果不佳的情况下,也会使用多进程的方案,如下:C#System.Threading.Tasks.Task task=System.Threading.Tasks.Task.Factory.StartNew(     &...

C# 当前不会命中断点 还没有为该文档加载任何符号

C# 当前不会命中断点 还没有为该文档加载任何符号

这个问题网上的经验大概如下:1。 清空方案,重新编译2。 删除项目bin目录下的东西,重新编译3。 解决相互引用的问题。4。 确保不是run的release5。把项目编译改为x866。 好像没发现其它的了。。。这些解决不了我们手上的项目的问题。我们的工程有几十个项目。我长话短说,解决方法是:引导项目...

C# 查询运算符测试

C# 查询运算符测试

测试一下全部的查询运算符。每天测试一部分,代码会持续更新中……C#using System;using System.Collections;using System.Collections.Generic;using System.Linq;using&nb...

细说进程、应用程序域与上下文之间的关系(四)——进程应用程序域与线程的关系

细说进程、应用程序域与上下文之间的关系(四)——进程应用程序域与线程的关系

目录一、进程的概念与作用二、应用程序域三、深入了解.NET上下文四、进程应用程序域与线程的关系 四、进程、应用程序域、线程的相互关系4.1 跨AppDomain运行代码在应用程序域之间的数据是相对独立的,当需要在其他AppDomain当中执行当前 AppDomain中的程序集代码时,可以使...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。