C#编程经常使用用户控件,采用用户控件编辑器生成Dll再引用应该是正确选项,比较安全,但是编程时经常需要修改,也经常需要调试,来回重新编译DLL比较麻烦,所以一般都是直接与项目代码一起编程,但带来的后果就是高风险,很容易出问题导致使用该用户控件的界面崩溃打不开,这时千万别点“忽略错误”而强行打开界面,或者进Designer文件删除出问题的界面,否则界面上的用控件都移除,特别难恢复,就算费时费力重新加上,也会导致各种各样的问题。根据经验,总结户控件很容易导致界面崩溃原因及解决方法如下:
1.用户控件程序出现严重错误,导致用户控件从工具箱中被移除导致用户控件未注册。
解决:绝大多数都是这类问题,排查用户控件错误都能解决。我有几次是因为从Any Cup、X86和X64平台之间切换,导致引用SDK的Dll不兼容导致,更换为相应平台Dll后解决。
2.不小心移除用户控件的文件,如果再想加上,直接加是不行的,必须先以相同的名字建一个用户控件,然后再用原来的替换。
3.在X64平台下,用户控件容易出问题,X86下稳定很多,我经常在X86下编程,发布时如果必须用X64平台再转到X64平台编译.
4.要删除用户控件,千万不能在Designer.cs文件中删,必须在界面删除,而且一定要小心检查是否有事件函数,必须先把事件函数取消再删除。
5.在编写用户控件时,一定要高肉聚,低耦合,不能相互之间有包含,相互之间应通过属性、方法和事件在平台窗体上进行参数传递,否则一个出问题,全都完蛋。
6.用户控件的复用,可以在新项目中生成一个相同名字的用户控件,然后替换,但一定要把命名空间等改成与新项目相符。
C#使用用户控件导致界面崩溃问题的解决
最新推荐文章于 2022-07-24 16:40:08 发布