WPF窗体A调用Form窗体B,然后通过方法去改变B中控件的显示属性文本。报System.AccessViolationException异常
form调用form就没有任何此类的问题。
问题很小众,并且网上关于这个异常并没有对应的解决方式
最后测试发现不管在B窗体的任何位置,构造及load事件中都不能创建实例化的Font对象去改变控件文本的字体。。只能使用窗体属性窗口或者直接在InitializeComponent()中直接设置好字体
重点,字体只能是系统自带,或者自己安装到系统中,不能直接放文件夹里用PrivateFontCollection读取字体文件。
或者一定用这个字体的话,只能在B窗体对应的方法中把初始化的控件隐藏,每一回创建一个新的控件对象,最后记得设置完控件属性,用Controls.Add()把控件加进去
form调用form就没有任何此类的问题。
问题很小众,到我解决这个问题网上关于这个异常并没有对应的解决方式
这个具体是WPF中的某个特性导致的还是Form窗体中,关于控件绘制的底层逻辑导致的,现在没有时间去仔细看。如果有哪位大佬知道这个的底层原理不吝赐教