問題很簡單,但最好在視覺上進行說明。請注意,所有屏幕截圖均來自Visual Studio 2005設計界面。當我真正運行應用程序時,我注意到沒有區別。Winforms用戶控件在另一個用戶控件(有時)時得到剪輯
這裏是我的用戶控件(我們稱之爲UC-1):
alt text http://i34.tinypic.com/wciaer.png
上的控制按鈕被設置爲錨設置爲底部+右。
這裏是它看起來當放置到一個特定的父用戶控制(UC-A),如:
alt text http://i37.tinypic.com/2emnak9.png
請忽略在顏色等的差異。一些樣式是在用戶控件的構造函數中完成的。
注意到控件的底部正在被裁剪。父級使用的控件實例設置爲「FixedSingle」邊框。還要注意,消耗的控制器比原始控制器更高,表明按鈕底部固定器設置受到尊重,但本質上應該是超調。
要確認這絕對是在父控制的問題,注意另一用戶控制(UC-2)當放置在相同的父包含數據網格視圖:
alt text http://i34.tinypic.com/2rgci7o.png
再次,該實例的消費控制設置了一個「FixedSingle」邊框,這有助於說明裁剪。數據網格正確地錨定到底部右側。爲了加強這個問題的困惑,這裏的第一用戶控制(UC-1)當被放置在不同的父用戶控制(UC-B):
alt text http://i38.tinypic.com/2rnyjd0.png
這裏的第二「消耗」控制(UC -2)當由形式消耗:
alt text http://i34.tinypic.com/rr8uc9.png
通知,沒有限幅這個時候。
我花了很多小時搜索和試驗來解決這個問題。我已經用盡了邊緣,填充,大小(最小/最大),位置,錨點等各種設置。我不能爲我的生活弄清楚爲什麼這一個用戶控件導致兒童用戶控件像這樣剪輯。
我注意到的另一件奇怪的事情是,當我在父級用戶控件設計表面(控件行爲不當時)執行UNDO時,即使撤消操作與這些控件無關,剪切後的用戶控件實例也會實際移動位置。例如,如果我使主要包含控件更大,則撤消,幾個子控件跳起來。它們似乎在被剪輯時移動。非常可疑。
有沒有人有任何想法是怎麼回事?
您是否找到了解決方案? – idstam 2009-11-02 08:36:18