Управление «кажется» заблокировано - PullRequest
15 голосов
/ 06 декабря 2011

Я пытаюсь изменить свойства элемента управления, хотя кажется, что он «заблокирован», но на самом деле это не так, потому что, когда я щелкаю правой кнопкой мыши элемент управления, он показывает, что элемент управления разблокирован.

Я использую Visual Studio 2005, и я никогда не работал с элементом управления, который, кажется, заблокирован как таковой на предоставленной картинке.

Я бы очень признателен за простое объяснение и за то, как решить эту проблему, чтобы я мог приступить к ее модификации.

enter image description here

Ответы [ 6 ]

17 голосов
/ 06 декабря 2011

Это произойдет, когда вы попытаетесь создать унаследованную форму, и элементы управления в этой форме будут private .Дизайнер наблюдает за модификаторами доступности.Вернитесь к базовой форме и измените свойство Modifiers элементов управления с Private на Protected.

3 голосов
/ 06 декабря 2011

Щелкните правой кнопкой мыши по форме и снимите флажок «Блокировать элементы управления»

Это должно помочь.

1 голос
/ 28 февраля 2019

У меня была точно такая же проблема, но это происходило только с элементами управления DevExpress .

После нескольких часов смены модификаторов и стрельбы в ноги я нашел эту опцию в Visual Studio=> DevExpress => WinForms Controls vX.XX => Изменить настройки времени разработки => Включить визуальное наследование для элементов управления Developer Express, используемых в Visual Studio .

enter image description here

0 голосов
/ 20 марта 2019

Когда вы добавляете новую унаследованную форму и хотите, чтобы все элементы управления были разблокированы, перейдите к форме, которую вы унаследовали, из , выберите файл Designer.cs и измените элементы управленияВы хотите изменить на защищен .Как только это будет сделано, создайте свое решение , а затем создайте унаследованную форму.Элементы управления должны быть разблокированы.

0 голосов
/ 24 июня 2016

Если у вас есть форма A с именем «Form.cs» в вашем проекте, классы из других форм (B, C, D и т. Д.) Будут наследовать класс «Form.cs» от вашего «A» .. Это должно наследовать System.Windows.Forms.Form. Просто попробуйте изменить имя класса форм A с «Form.cs» на «Form1.cs».

0 голосов
/ 30 ноября 2015

Перейдите в базовый код обозревателя решений форм -> formXX -> Dispose (Boolean) и измените строку наследования на Inherits System.Windows.Forms.Form

...