2011-12-05 125 views
8

我想改變屬性到一個控制,但它看起來好像它是「鎖定」,但在現實中,這不是因爲當我右鍵點擊控制它顯示控制作爲解鎖。控制'似乎'被鎖定

我正在使用Visual Studio 2005,而且我從未使用過似乎在提供的圖片中被鎖定的控件。

我真的很感激一個簡單的解釋,以及如何解決這個問題,以便我可以繼續修改它。

enter image description here

+0

你使用什麼源碼控制系統? – Oded

+0

不太確定,但可能該控件是在其他文件中定義的。換句話說,你會看到擁有控制權的主機。 – Tigran

+0

它可能會附加到一個過程。你是否按了F5來運行該項目,然後切換到VS並嘗試編輯控件。如果是這種情況,您需要停止調試器。 – affan

回答

3

右鍵單擊窗體,然後取消選擇 「鎖定控制」

這將有助於對。

+0

當一個控件被鎖定時,您可以在其左上方看到一個小鎖。鎖定容器還會鎖定其中的所有控件。 –

+1

對不起,但正如我之前提到的這些控件沒有鎖定。 – MPaul

10

當您嘗試設計一個繼承的表單並且該表單上的控件是私有時,會發生這種情況。設計師觀察輔助功能修飾符。回到基礎窗體並將控件的Modifiers屬性從Private更改爲Protected。

+0

嗨,謝謝你的回答。儘管如此,我仍然有點困惑。基本形式是什麼意思?在上圖中,bnvNavigator是一個用戶控件,它繼承自Microsoft的BindingNavigator控件。我假設回到基本形式,你不是指改變微軟的代碼?謝謝 – MPaul

+0

我在回答中假定你從Form類以外的表單繼承。項目+添加新項目,Windows窗體+繼承的窗體。如果情況並非如此,那麼這個答案與你的問題不符。要使嵌入UserControl的控件可編輯,您需要一個自定義設計器。見http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place-in-a-custom-usercontrol/2863807#2863807雖然我不明白屏幕截圖,看起來不像UserControl。 –

+0

@HansPassant對於一個'TableLayoutPanel'和一個'FlowLayoutPanel'來說,這似乎沒有什麼特別的地方。 (我正在設計一個用戶控件,繼承[不像你上一次評論中那樣嵌入]另一個包含'TableLayoutPanel'的用戶控件,不管它的可訪問性修飾符是'Private','Protected'還是Public。 ) – Bob

0

轉到形式溶液資源管理器的基本代碼 - > formXX - >處置(布爾型)和變化繼承線繼承System.Windows.Forms.Form中

0

如果有形成A,其名稱爲你的項目中的「Form.cs」,來自其他窗體(B,C,D等)的類將從你的「A」繼承類「Form.cs」...它應該繼承System.Windows.Forms.Form 。只要嘗試將您的A表單類名稱從「Form.cs」更改爲「Form1.cs」。