2013-06-12 35 views
0

我在Visual Studio 2010中構建了自己的控件。我已經使用特定的錨點設置在表單上安排了幾個Windows控件。在控件自己的設計器中,調整行爲是可以的,但是當我在主程序中調整控件的大小時,我自己控件內控件的錨定設置將被忽略。 有人可以告訴我爲什麼嗎?我自己的控件中的錨定設置與父表單上的調整大小行爲

+0

你能展示一些說明這種行爲的截圖嗎?什麼可行,什麼不行... –

+0

查看底部評論! – Christoph

+0

我看到你的問題,但我不知道問題出在哪裏。我想我需要玩一個示例項目來弄清楚它...... –

回答

0

我認爲這是因爲你自己的CustomControl沒有調整大小。嘗試添加錨點到您的CustomControl,例如:

var lc = new CustomControl(); 
lc.Anchor = AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top; 

this.Controls.Add(lc); 

並查看它是否對您有所幫助。

+0

我現在確定這是否是正確的解決方案。但是有一個例子:想象你正在用自己的形式編輯你自己的控件。例如。一個groupbox中的文本框。當您調整組框的大小時,使用文本框的錨點設置它的行爲是正確的。但是,如果將控件添加到新窗體中,則文本框的行爲是錯誤的。爲什麼在自定義控件中添加錨點,如果它們在結果應用程序中沒有任何作用? – Christoph

+0

因爲你的自定義控件是一個自己的容器(就像你的例子中的一個組合框),所以它也必須調整其大小,以便在其內部移動/調整大小。您的自定義控件的效果幾乎與「Panel」相同。 – gzaxx

+0

是的。我也會期待你的話。但是,如果我們留在面板的示例中,即使錨點設置正確,內部控件也不會調整大小。 – Christoph

相關問題