2012-12-11 59 views
1

因此,我有一个愚蠢的小问题,我希望能够轻松解决。Class.designer.cs每当我打开它时都会发生变化

所以我有一个自定义用户控件,它基本上只包含一个选项卡控件和一个选项卡(大多只用作设计选项卡的绘图板)。 今天我将我的项目从VS2008-.net3.5移到VS2010-.net4.0,大部分情况看起来都很完美,除了这一个自定义用户控件。

每次我在设计器中打开它时,它都以*旁边的名称打开。如果我保存它,关闭VS中的页面,然后再打开它,它回来了!

我比较了一个之前和之后,它做一些愚蠢的小事情,比如将我的SplitContainer SplitterDistance设置为随机长度,并重新排列控制器在designer.cs中定义的顺序。这真的很烦人,因为它每次打开时都会提示保存,并且使用源代码控制进行控制。它一直将其设置为关闭的位置,并将控件从屏幕侧面推下几个像素。

我试着手动设置分切距离,所以到处都有很多空间,但是每次打开时都会做同样的事情。

任何帮助,将不胜感激。

问候, 赖特

+1

控件在设计时加载布局时的副作用。可能与dpi有关。我还没有看到一个关于它的问题,它记录了*确切地说*改变了什么,以及这个控制器最初创建的机器是如何不同的。 –

+0

但是你会认为一旦保存就没问题,特别是在VS的同一个实例中。看起来很奇怪,你可以关闭标签,然后重新打开控制器,设计师得到改变,一切都改变了。 – Wrightboy

+1

有趣。我有一个带有'TableLayoutPanel'的表单,每当我在VS 2010中打开表单时,它都会改变它的高度。我只是把它放到了我不得不忍受的那些烦人的错误之一上。也许对你的问题的一个很好的回答会给我们一些启示。 –

回答

0

为了解决最近类似的问题,我跟踪它到成立事件处理程序的设计器生成“的InitializeComponent”方法。

我在事件处理SizeChanged事件后经过大量的实验,我发现是问题的原因。所以每当有形式的的InitializeComponent线

someControl.SomeEvent + =一个MyEventHandler

我把它伸到构造,只是InitializeComponent调用后。

相关问题