|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
Ошибка при добавлении своего контрола на форму04.03.2017, 14:51. Показов 2160. Ответов 14
Метки нет (Все метки)
Здравствуйте!
У меня постоянно возникает одна и та же ошибка. Лично для меня не слишком критичная, но в некоторых моментах критичная. Дело в том, что, когда я создаю свой контрол, он появляется в панели элементов, но в дизайнере положить его на форму я не могу - возникает ошибка. Мне не принципиально когда класть контрол на форму - в дизайнере или программно, но есть один момент, в связи с которым для меня это становится принципиально. Добавлено через 1 минуту Причем эта ошибка возникает только на работе, дома все в порядке, сколько угодно своих контролов могу класть на форму.
0
|
|
| 04.03.2017, 14:51 | |
|
Ответы с готовыми решениями:
14
Ошибка при добавлении пользовательского контрола на форму в режиме дизайнера Как найти ID элемента своего контрола (usercontrol) который помещен на форму
|
|
292 / 291 / 108
Регистрация: 04.09.2010
Сообщений: 638
|
||
| 04.03.2017, 22:40 | ||
Намекнули бы хоть, что за ошибка.По своему опыту скажу, для добавления usercontrol'а в дизайнере, у него должен быть конструктор без параметров.
0
|
||
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 04.03.2017, 23:28 [ТС] | |
|
К сожалению или к счастью не могу дома воспроизвести эту ошибку. Принесу с работы в понедельник вечером.
А, точно могу сказать, что говорит что-то вроде "Не задана ссылка на объект". Хотя проект уже две тыщи раз пересобран, и чистила я все, и заново собирала - все равно эта ошибка. Мало того, это происходит не в одном проекте, а в разных. Думаю, какой-то косяк в самом VS. Возможно, переустановка решит проблему.
0
|
|
|
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
|
|
| 05.03.2017, 00:11 | |
|
Лакшми, если именно эта ошибка, то надо код контрола смотреть. в момент инициализации попытка обращения к какому-либо свойству или результату функции возвращающую null. Посмотрите по коду, что происходит при создании элемента, возможно какой-то подводный камень в одном из переопределенных методов, например OnPaint... в общем нужен код компонента, что бы не гадать на кофейной гуще
0
|
|
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 05.03.2017, 00:47 [ТС] | |
|
Ну Павлик! Ну какой код? Он автоматом формируется. Я могу пустой создать и будет тоже самое.
0
|
|
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 09.03.2017, 18:48 [ТС] | |
|
Здравствуйте! Разобралась я почему ошибки возникают. Неправильное использование переменных из статического класса. Почитала внимательно ошибку, нашла ее. Там было явное приведение к int. Сделала ConvertTo.Int32, пустил дальше. Далее указал на ошибку, где я пытаюсь циклом пройтись по строкам DataTable из статического класса. Сделала проверку "если DataTable != null", ошибка исчезла. Теперь данный контрол без проблем ложится на форму. Мало где использовала статические переменные, поэтому многое не учла.
0
|
|
|
138 / 137 / 42
Регистрация: 26.10.2012
Сообщений: 443
|
|
| 10.03.2017, 00:51 | |
|
Лакшми, вообще со статикой надо аккуратно. Особенно если это какие-либо источники данных.
0
|
|
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 10.03.2017, 19:40 [ТС] | |
|
Теперь я знаю об этом. Раньше крайне редко использовала статику, а сейчас посчитала, что мне это нужно. Использовать или не использовать статику - очень много споров. Но она же для чего-то создана. И я ею пользуюсь. В своем проекте я использую статические классы и DataTable, т.к. не вижу смысла передавать каждый раз ссылку на экземпляр нестатического класса, передавать его через 5 ссылок, из модуля в модуль. Тем более, что данная DataTable мне нужна одна на весь проект. Скажите, может я не права?
0
|
|
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
| 10.03.2017, 20:05 | |
|
0
|
|
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 10.03.2017, 20:56 [ТС] | |
|
Паттернами не пользуюсь, нет потребности
0
|
|
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
||||||
| 10.03.2017, 21:31 | ||||||
|
Лакшми, можно инициализировать "лениво"
0
|
||||||
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 10.03.2017, 21:35 [ТС] | |
|
Только класс должен быть static, или я ошибаюсь?
Добавлено через 24 секунды Причем static public Добавлено через 1 минуту В любом статическом классе все переменные и методы должны быть тоже статическими
0
|
|
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
||||
| 10.03.2017, 22:31 | ||||
|
0
|
||||
|
61 / 50 / 1
Регистрация: 09.07.2009
Сообщений: 451
|
|
| 10.03.2017, 23:54 [ТС] | |
|
Итого "супер-пупер" красивые решения должны быть без статика! Ну потому что потому что без goto! Никаких объяснений нет. Я считаю, что должен быть статик! Но я объяснения имею.
У меня статик Datatable, которая используется везде! У меня функция, которая делает херование данных. Я тоже не вижу сысла делать для нее отдельный экземпляр. Ну вот это например.
0
|
|
|
|
|||
| 11.03.2017, 00:05 | |||
|
НО этот статик нужно более цивильно оформить - в виде синглтона. Разница между просто статиком и синглтоном - небольшая, но есть. Основное отличие в том, что в синглтоне вы сможете явно прописать логику создания экземпляра, и главное - менять эту логику в зависимости от условий. Например, если вы тестируете приложение, то вы можете генерировать тестовую таблицу, и не работать с реальными данными. Если вы находитесь в desing mode (как раз ваш случай), то вы можете генерировать пустую таблицу - заглушку, вместо обращения к БД. И так далее.
0
|
|||
| 11.03.2017, 00:05 | |
|
Помогаю со студенческими работами здесь
15
Ошибка при добавлении компонента на форму Ошибка при добавлении компонента на форму Ошибка при добавлении таблицы из БД в форму Ошибка при добавлении таблицы на форму Ошибка при добавлении данных в бд через форму Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|