WPF窗体调用Form窗体,更改Form窗体控件的显示文本,报System.AccessViolationException异常

WPF窗体A调用Form窗体B,然后通过方法去改变B中控件的显示属性文本。报System.AccessViolationException异常
form调用form就没有任何此类的问题。
问题很小众,并且网上关于这个异常并没有对应的解决方式

最后测试发现不管在B窗体的任何位置,构造及load事件中都不能创建实例化的Font对象去改变控件文本的字体。。只能使用窗体属性窗口或者直接在InitializeComponent()中直接设置好字体

重点,字体只能是系统自带,或者自己安装到系统中,不能直接放文件夹里用PrivateFontCollection读取字体文件。
或者一定用这个字体的话,只能在B窗体对应的方法中把初始化的控件隐藏,每一回创建一个新的控件对象,最后记得设置完控件属性,用Controls.Add()把控件加进去

form调用form就没有任何此类的问题。

问题很小众,到我解决这个问题网上关于这个异常并没有对应的解决方式

这个具体是WPF中的某个特性导致的还是Form窗体中,关于控件绘制的底层逻辑导致的,现在没有时间去仔细看。如果有哪位大佬知道这个的底层原理不吝赐教

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值