在Windows Forms的设计器里面,存在一个DesignMode的问题,就是有时候DesignMode得到的值并不是真实的值。其实这个不算是Bug,只有由于User Control多次嵌套后,DesignMode就不正确了。
只好用 (System.Diagnostics.Process.GetCurrentProcess().ProcessName != "devenv") 来判断。
这里有如下链接也讨论了这个问题,其中也有解决方案:
http://weblogs.asp.net/fmarguerie/archive/2005/03/23/395658.aspx
http://dotnetjunkies.com/WebLog/mjordan/archive/2003/12/01/4117.aspx