Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/25: Рейтинг темы: голосов - 25, средняя оценка - 4.72
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167

Is inaccessible due to its protection level после переноса элементов на другую форму

18.03.2019, 15:22. Показов 5026. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал работающее приложение. Решил часть функционала перенести на другую форму.
После переноса компилятор ругается на этот код ошибкой - Error CS0122 'generator.checkBox1' is inaccessible due to its protection level
C#
1
2
3
4
5
6
7
8
private void writeSetting()
        {
            props.Fields.ComboBoxOfice = comboBox1.Text;
            //props.Fields.ServerIP = textBox1.Text;
            props.Fields.CheckBoxPassAZ = generator.checkBox1.Checked;
            props.Fields.CheckBoxPassaz = generator.checkBox2.Checked;
            props.Fields.CheckBoxPass09 = generator.checkBox3.Checked;
            props.Fields.CheckBoxPassAdv = generator.checkBox4.Checked;
До этого создавал класс для сохранения настроек при закрытии приложения в XML файл. По этой методике
https://skeitol.ru/articles/50/
Почитал по ошибке Интернет понял, что это из-за недоступности объектов из одной формы в другой. Хотя сами формы прописаны как public. Может кто объяснить нормальным языком почему так произошло и что изменить для исключения этой ошибки?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2019, 15:22
Ответы с готовыми решениями:

ConnectionString is inaccessible due to its protection level
Не могу понять что не так. В первой форме все работает, а во второй уже нет. public void Get_Table(string table_name, int num_dG) ...

Сериализация: "XmlSerializer() is inaccessible due to its protection level"
Добрый день! Помогите, пожалуйста. Нужно сделать сериализацию treeView1. Выдает ошибку(указана в коде) Помогите, пожалуйста! ...

Ошибка "inaccessible due to its protection level" при обходе объектов в коллекции
Пишу в кнопке public void btn_export_Click(object sender, EventArgs e) код foreach (Obj ob in attr) { ...

6
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
18.03.2019, 18:47
hiddenRaum,Тут всё объясняется Ответы на 7 самых частых вопросов по WinForms
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
19.03.2019, 00:07  [ТС]
В какое место в коде вставляется эта инструкция?

C#
1
2
3
4
static class Data
{
    public static string Value { get; set; }
}
Вставил сразу после
C#
1
2
namespace qr_code
{
Дизайнер формы сразу сломался, хотя по F5 запускалось и даже имитировало работу. Только код не отрабатывал нормально. Сохранения настроек не происходило как ренее при использовании одной формы. Но программа и ошибок не выдавала в целом.

Если настроек несколько автоматическое назначение сработает?
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
19.03.2019, 00:15
Цитата Сообщение от hiddenRaum Посмотреть сообщение
В какое место в коде вставляется эта инструкция
В любое, внутри Namespace. Вставляйте в код формы Form1.cs
Цитата Сообщение от hiddenRaum Посмотреть сообщение
автоматическое назначение сработает?
Назначение чего ?
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
19.03.2019, 00:39  [ТС]
В любое место нельзя. Я вставил сразу после namespace приложения и дизайнер формы заглючил. Форма пропала и появилось сообщение об ошибках.

Вставил после
C#
1
2
3
4
5
6
public partial class generator : Form
    {
        public generator()
        {
            InitializeComponent();
        }
Теперь не понимает контекста анализатор кода и пишет
C#
1
The name 'Data2' does not exist in the current contex
У меня несколько переменных которые хотел передавать и не хочется их прописывать каждую.
Как я понял код

C#
1
2
3
4
static class Data
{
    public static string Value { get; set; }
}
Реализует передачу переменных через свойства в автоматическом режиме.

У меня переменные двух типов bool и string. Так как приведенная выше инструкция только string, то анализатор кода ругался что обращение к свойству для bool неприемлемо. Я создал вторую запись свойств.

C#
1
2
3
4
static class Data2
{
    public static bool Check { get; set; }
}
Мне надо расписывать каждую переменную или он так должен понять?
0
 Аватар для PoPsa85
814 / 561 / 240
Регистрация: 01.07.2018
Сообщений: 1,818
19.03.2019, 00:56
Цитата Сообщение от hiddenRaum Посмотреть сообщение
Реализует передачу переменных через свойства в автоматическом режиме
Нет. Вы не внимательно читали материал по ссылке, что я дал.
Это статическая переменная, к которой можно обращаться из любого места вашего приложения. Код должен быть в namespace. Потому что это класс. Добавте его, после закрывающей скобки вашего класса
C#
1
2
3
4
5
6
7
8
9
10
11
public partial class generator : Form
    {
//Код формы
}
static class Data
{
    public static string Value { get; set; }
//Плодить классы не нужно, у вас уже есть один, добавляйте сюда поля
  public static string Test {get;set;} //и т.д.
 
}
Цитата Сообщение от hiddenRaum Посмотреть сообщение
создавал класс для сохранения настроек при закрытии приложения в XML файл
Почитайте про Properties.Settings и не мучайтесь. https://habr.com/ru/post/271483/
0
1 / 1 / 1
Регистрация: 02.12.2009
Сообщений: 167
19.03.2019, 01:29  [ТС]
Если уж написали 7 ответов на самые распространенные вопросы, то написали бы более подробно с примерами что ли...
У меня не работает это.

Добавлено через 23 минуты
Вызвал в форме вторую форму
C#
1
generator g = new generator();
И смог обращатся к переменным в виде
C#
1
g.checkBox1.Checked;
Добавлено через 7 минут
1 - Properties.Settings не интересует. Сам предмет с которым я вожусь об это как бы намекает. XML не просто так прикручен в код.
2 - Как написано так и прочитано.
3 - Было бы нормально написано никто бы не мучался. Я отношусь к этому как к обучению. Учится приходится у компании Гавнокософт поэтому и обучение такое. Когда компанией руководит человек у которого в фамилии есть слово "гей" это не удивительно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2019, 01:29
Помогаю со студенческими работами здесь

Непонятки с "inaccessible due to its protection level"
Здравствуйте. Есть необходимость распарсить сайт, выбрал к качестве библиотеки для парсинга AngleSharp. При получении ссылок со...

Variable 'Result' inaccessible here due to optimization
Добрый день. Смотрю в Watch значение переменной и у меня выдает Variable 'Result' inaccessible here due to optimization ...

Изменение пути к значкам, после переноса файлов значков в другую папку
Все файлы иконок у меня находились в "C:/ресурсы/значки" и "C:/ресурсы/Значки2". Теперь я перенес их в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru