封网回顾2——VS05问题

本文讨论了toolStripContainer与C1TrueDBGrid在特定环境下发生的事件冲突问题,并提供了有效的解决方案。冲突主要发生在继承窗体且使用容器控件的情况下,通过增加条件判断来避免运行时错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2006-9-7
总是遇到问题,toolStripContainer与C1TrueDBGrid的一些事件中的语句有冲突,原因是相应事件中的有些变量还是默认值。加入控制语句即可。最后发现是所有的容器控件都会冲突。冲突语句:
     this.c1dbg.Columns[iTagCol + 1].FooterText = "第" + (this.c1dbg.Row + 1) + "项";
非继承或者没有容器控件时都没错。但是在继承且有容器控件时,打开设计器加载触发事件时this.c1dbg.Columns.Count等于0而非实际值。如此iTagCol + 1必定大于0,也就大于 this.c1dbg.Columns.Count 而发生越界错误。
     但是不加控制语句,直接将03下的基类文件直接添加到05的项目中则不会有这种问题,而且在03下每次打开继承窗体时的“NullReferenceException”错误也没有了,不过“Replace layout”提示仍然存在。
     菜单条工具条等控件继承不正常,继承的控件不能正常操作。在代码中加入可以解决,而且最好不要在Designer.cs中加,不断编译有时会莫名其妙地丢失添加关联的语句。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值