6 / 6 / 1
Регистрация: 14.11.2008
Сообщений: 82
1

Ошибка при открытии класса в конструкторе

22.10.2010, 21:01. Показов 24223. Ответов 10
Метки нет (Все метки)

Подскажите пжлст. Написал форму со всеми объектами и событиями. После создал наследника этого класса переопределил половину событий в наследнике. Все работает правильно но если я пытаюсь открыть свой класс в конструкторе то выдает ошибку. (Показать конструктор для этого файла невозможно, так как невозможно сконструировать ни один из входящих в него классов.)
На MSDN решение этой проблемы (Переместите класс в коде таким образом, чтобы этот класс стал первым в файле, затем заново загрузите конструктор.)
Может кто сталкивался и нашел решение. Если нужен код выложу.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.10.2010, 21:01
Ответы с готовыми решениями:

Ошибка в конструкторе при передаче значения переменной из второй формы в первую
Добрый день! Помогите, пожалуйста. Из второй формы в первую передаю переменную string Sav:...

Ошибка при открытии формы
Решил немного упростить код, теперь при запуске приложения вылетает ошибка: ".Form3 не содержит...

Ошибка при открытии новой формы
Доброе время суток. Проблема в слудующем при нажатии на кнопку "посмотреть график" имея...

Ошибка при открытии бинарного файла
мне нужно открыть картинку как бинарный файл.. Делаю вот так: try { ...

10
24 / 4 / 2
Регистрация: 03.09.2009
Сообщений: 73
23.10.2010, 04:29 2
Да, в листинге кода класса формы, класс который по умолчанию создается, и описывает саму форму, должен стоять первым, а потом уже все остальные, вручную сконструированные юзером классы
в тексте ошибки ведь четко написано... не дочитал?)
0
6 / 6 / 1
Регистрация: 14.11.2008
Сообщений: 82
26.10.2010, 23:57  [ТС] 3
Если я правильно понял унаследованый класс должен в коде быть ниже прописан чем родитель. Это если они в одном модуле, а если в разных??. Или я что то недопонял.(сильно не бить)
СПС.
0
Автор FAQ
Автор FAQ
1799 / 611 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
27.10.2010, 00:06 4
Класс родитель должен создаваться раньше наследника. Если я правильно понял что вы делаете, то сами проследите логику...вы хотите создать эклемпляр класса наследника в конструкторе базового для него класса?
0
6 / 6 / 1
Регистрация: 14.11.2008
Сообщений: 82
27.10.2010, 00:48  [ТС] 5
Вот классы: Родитель и его конструктор в своем модуле

C#
1
2
3
4
5
6
7
8
9
 public partial class Журнал_Документов_Квитанции : Form
    {
       public Журнал_Документов_Квитанции(SqlConnection Conection)
        {
            InitializeComponent();
           
            }
 
        }// конструктор
Вот наследник в другом модуле

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 class Журнал_Документов_Норма : Журнал_Документов_Квитанции
    {
        public Журнал_Документов_Норма(SqlConnection Conection)
            : base(Conection)
        {
            this.Text = "Журнал документов: Начисление по норме";
            try
            {
                sqlConnection = Conection;
                if (sqlConnection.State == ConnectionState.Closed)
                    sqlConnection.Open();
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "Сообщение об ошибке открытия соединения", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
0
Автор FAQ
Автор FAQ
1799 / 611 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
27.10.2010, 00:52 6
а как создаете экземпляры этих классов? и пришлите ошибку , которую выдает компилятор
0
6 / 6 / 1
Регистрация: 14.11.2008
Сообщений: 82
27.10.2010, 01:01  [ТС] 7
Работает все нормуль. Я скорее непонял студию. Как она мне откроет унаследованную форму в конструкторе наследника для редактирования если все изменения на форме делаются в родителе.
Проблеме то в чем была студия не давала унаследованый класс показать мне как новую форму унаследованную от родителя с ошибкой (Конструктор для типа "Учет_льгот.Журналы.Журнал_Документов_Квитанции" не найден.)
(Показать конструктор для этого файла невозможно, так как невозможно сконструировать ни один из входящих в него классов.)
На MSDN решение этой проблемы (Переместите класс в коде таким образом, чтобы этот класс стал первым в файле, затем заново загрузите конструктор.)
0
Автор FAQ
Автор FAQ
1799 / 611 / 37
Регистрация: 22.12.2009
Сообщений: 1,544
27.10.2010, 01:16 8
Вы чтото так запутано объясняете) прооблема решена или нет?
0
6 / 6 / 1
Регистрация: 14.11.2008
Сообщений: 82
27.10.2010, 08:12  [ТС] 9
Ошибка вываливается только если я пытаюсь открыть класс который унаследовал от другой формы в конструкторе (это когда находишься в листинге класса, и вызывая контекстное меню -> открыть в конструкторе). Если для класса родителя он форму строит и визуально показывает то для наследника выдает ошибку.
0
rzr18
15.05.2013, 18:06 10
Такая же беда. Причина - символ "#" в имени каталога, где проекты лежат. Баг походу.
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 2
05.05.2015, 07:39 11
подводя итог человеческим языком, в коде:
C++
1
void InitializeComponent(void)//...
поменяйте местами порядок инициализации объектов, первой должна быть форма а не кнопка.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.05.2015, 07:39
Помогаю со студенческими работами здесь

Ошибка с кодировкой при открытии *.doc файла
Когда я открываю в richtextbox doc-файл у меня выводится непонятный набор символов.я так понимаю...

Массивы объектов класса. возможна ли работа с ними в конструкторе форм?
Делаю программу для расчета резца, для ввода значений использую класс NumericUpDown. Сейчас решил...

Ошибка при открытии OpenFileDialog "Попытка чтения или записи в защищенную память"
if (dataGridView1.Rows.Cells.Value.ToString() != "") { ...

Ошибка при открытии приложения: не удалось загрузить файл или сборку "itextsharp"
Здравствуйте)вот мой код сохранения из DataGridView таблиц в pdf-файл: public partial class Form2...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru