【微软dotnet严重BUG,邀请全国的高手发现解决】
前言:
这个问题不散分。大家一起来发现解决微软的BUG其实也是一种乐趣。不是么。
关于这个BUG呢,很简单:
建立一个winform项目。
basefrom是父类,childform是子类(设置childform的size比父类大一些)
baseForm里放一个tabControl,tabControl里面有一个tabPage1。他们的Modifiers都设置为Protected。
tabControl的DOCK设置为FILL。
那么在childform中,在tabPage1里随便放一个什么控件,设置它的anthor后,
重新生成工程一下,控件就会移位,每次重新生成,它都会移动,直至移动到边界外还在移动,太诡异了!
(如果直接把控件放在窗体上,而不是放在tabPage1里,则不会出现此BUG)
分析:
我就将这个现象先叫做“控件梦游症”吧。不知道曾经有没有前辈已经发现并解决此问题。
初步分析,引起这种现象的原因可能是tabpage的布局机制有问题。在通过控件的anthor设置计算坐标的时候,没考虑到父控件的某些因素,导致计算错误。
目前还没有想到什么好的解决方法,还请广大高手多来这跟帖交流.
---------------------------------------
以上BUG在.net framework 2.0 vs2005 下测试通过。