2011-12-05 21 views
8

Sto provando a modificare le proprietà su un controllo, tuttavia sembra come se fosse "bloccato" ma in realtà non lo è perché quando faccio clic con il pulsante destro del mouse sul controllo mostra il controllo come sbloccato.Il controllo 'sembra' essere bloccato

Utilizzo Visual Studio 2005 e non ho mai lavorato con un controllo che sembra bloccato come tale nell'immagine fornita.

Apprezzerei molto una semplice spiegazione e come risolvere questo problema in modo che possa procedere con la modifica.

enter image description here

+0

Quale sistema di controllo della sorgente stai usando? – Oded

+0

non molto sicuro, ma probabilmente quel controllo è definito in un altro file. In altre parole, si vede l'host che detiene il controllo. – Tigran

+0

Potrebbe essere collegato a un processo. Hai premuto F5 per eseguire il progetto e quindi passare a VS e provare a modificare il controllo. Se questo è il caso, è necessario arrestare il debugger. – affan

risposta

3

Fare clic destro sulla forma e opzione "controlli di blocco" deselezionare

Questo dovrebbe aiutare.

+0

Quando un controllo è bloccato, è possibile vedere un piccolo lucchetto in alto a sinistra. Il blocco di un contenitore blocca anche tutti i controlli al suo interno. –

+1

Mi dispiace, ma come ho già detto prima questi controlli non sono bloccati. – MPaul

10

Ciò si verifica quando si tenta di progettare un modulo ereditato e il/i controllo/i su tale modulo sono privato. Il progettista osserva i modificatori di accessibilità. Torna al modulo di base e modifica la proprietà Modificatori dei controlli da Privato a Protetto.

+0

Ciao, grazie per la tua risposta. Sono ancora un po 'confuso però. Cosa intendi con il modulo base? Nell'immagine sopra, il bnvNavigator è un controllo utente ereditato dal controllo BindingNavigator di Microsoft. Suppongo che tornando al modulo di base non intendi alterare il codice di Microsoft? Grazie – MPaul

+0

Ho assunto nella mia risposta che hai ereditato da un modulo diverso dalla classe Form. Progetto + Aggiungi nuovo elemento, Windows Form + Modulo ereditato. Se questo non è il caso, questa risposta non corrisponde al tuo problema. Per rendere un controllo incorporato in un UserControl modificabile, avrai bisogno di un designer personalizzato. Vedi http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place-in-a-custom-usercontrol/2863807#2863807 Tuttavia, non capisco lo screenshot, non sembra un UserControl. –

+0

@HansPassant Che sembra non fare nulla per un 'TableLayoutPanel', né un' FlowLayoutPanel', che sembra essere speciale. (Sto progettando un controllo utente che eredita un altro che non contiene un 'TableLayoutPanel', che rimane bloccato a prescindere dal suo modificatore di accessibilità,' Privato', 'Protetto' o' Pubblico'.) – Bob

0

Vai al codice di base della soluzione modulo explorer -> formXX -> Dispose (Boolean) e cambiare linea di successione al Eredita System.Windows.Forms.Form

0

Se si dispone di forma AL cui nome è "Form.cs" nel tuo progetto, le classi da altre forme (B, C, D, ecc.) Saranno la classe di ereditarietà "Form.cs" dalla tua "A" ... dovrebbe ereditare System.Windows.Forms.Form . Basta provare a cambiare il nome della classe A di form da "Form.cs" a "Form1.cs".

Problemi correlati