2011-12-05 44 views
8

Estoy tratando de cambiar las propiedades a un control, pero parece como si estuviera "bloqueado", pero en realidad, no es porque cuando hago clic derecho en el control muestra el control como desbloqueadoEl control 'parece' estar bloqueado

Estoy usando Visual Studio 2005, y nunca he trabajado con un control que parece estar bloqueado como tal en la imagen proporcionada.

Realmente agradecería una explicación simple y cómo resolver este problema para poder proceder a modificarlo.

enter image description here

+0

¿Qué sistema de control de fuente está utilizando? – Oded

+0

no muy seguro, pero probablemente ese control esté definido en otro archivo. En otras palabras, ves el Host que tiene el control. – Tigran

+0

Podría adjuntarlo a un proceso. ¿Presionó F5 para ejecutar el proyecto y luego cambiar a VS e intentar editar el control? Si este es el caso, debe detener el depurador. – affan

Respuesta

3

Haga clic derecho sobre la forma y la opción de "controles de bloqueo" desactive

Esto debería ayudar.

+0

Cuando un control está bloqueado, puede ver un pequeño candado en la parte superior izquierda. El bloqueo de un contenedor también bloquea todos los controles dentro de él. –

+1

Lo siento, pero como he mencionado antes, estos controles no están bloqueados. – MPaul

10

Esto sucederá cuando intente diseñar un formulario heredado y los controles de ese formulario son privados. El diseñador observa modificadores de accesibilidad. Regrese al formulario base y cambie la propiedad Modificadores de los controles de Privado a Protegido.

+0

Hola, gracias por tu respuesta. Todavía estoy un poco confundido. ¿Qué quieres decir con la forma básica? En la imagen de arriba, el bnvNavigator es un control de usuario heredado del control BindingNavigator de Microsoft. Supongo que volviendo a la forma base, ¿no quiere decir alterar el código de Microsoft? Gracias – MPaul

+0

Supuse en mi respuesta que heredó de un formulario que no sea la clase Form. Project + Add New Item, Windows Forms + Formulario heredado. Si ese no es el caso, esta respuesta no coincide con su problema. Para hacer que un control incrustado en un UserControl se pueda editar, necesitará un diseñador personalizado. Ver http://stackoverflow.com/questions/2785376/how-to-bubble-a-controls-features-when-place-in-a-custom-usercontrol/2863807#2863807 No entiendo la captura de pantalla, no se ve como un UserControl. –

+0

@HansPassant Eso no parece hacer nada por un 'TableLayoutPanel', ni un' FlowLayoutPanel', que parecen ser especiales. (Estoy diseñando un control de usuario heredando [no incrustando, como en tu último comentario] otro que contiene un 'TableLayoutPanel', que permanece bloqueado sin importar cuál sea su modificador de accesibilidad,' Privado', 'Protegido' o' Público'.) – Bob

0

Ir al código base del explorador de soluciones formulario -> formXX -> Desechar (booleano) y la línea de cambio de herencia a Hereda System.Windows.Forms.Form

0

Si tiene forma A, que es el nombre "Form.cs" en su proyecto, las clases de otros formularios (B, C, D, etc.) serán de clase de herencia "Form.cs" de su "A" ... debería heredar System.Windows.Forms.Form . Solo intente cambiar su nombre de clase A de formularios de "Form.cs" a "Form1.cs".

Cuestiones relacionadas