Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/58: Рейтинг темы: голосов - 58, средняя оценка - 4.69
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676

Доступ к ликвидированному объекту невозможен

09.09.2020, 15:45. Показов 16016. Ответов 108
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создал новую форму Form2 и новый юзер контрол UserControl1

на новую форму повесил юзер контрол (не знаю для чего но сделал )

далее

в классе Program.cs написал вот что

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace TestUserForm
{
    public class RoomForms
    {
        public static Form RForm;
        // Создадим конструктор, 
        public void GETRoomForms()
        {
            RForm = new Form2();
        }
    }
    
    static class Program
    {
        
        /// <summary>
        /// Главная точка входа для приложения.
        /// </summary>
        [STAThread]
        static void Main()
        {
 
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
 
            RoomForms room_forms = new RoomForms();
            room_forms.GETRoomForms();
 
            Application.Run(new Form1());
        }
    }
}
далее на основную форму Form1 положил кнопку и в собитие кнопки написал

C#
1
2
3
4
private void button1_Click(object sender, EventArgs e)
        {
            RoomForms.RForm.Show();
        }
завел программу нажмал на кнопку и все ок окно Form2 открылось и кнопка не нем

затем окно Form2 закрыл и нажал на основной форме Form1 кнопку еще раз и получил исключение (

System.ObjectDisposedException: "Доступ к ликвидированному объекту невозможен.
Имя объекта: "Form2"."


как это исправить?

Добавлено через 6 минут
это я пытаю кешировать формы

Добавлено через 1 час 0 минут
не понимаю почему вылазит данное исключение?

я следую этим примерам (понятно что это веб приложение но все же) https://docs.microsoft.com/ru-... startup-cs

я как бы инитиализирую статическое поля а затем юзаю его почему оно теряется при закрытии?

Добавлено через 7 минут
пните в меня ссылку на почитать о кешировании в вин формах пожалуйста

все что нахожу это только о ASP.NET а мне вин формы нужны (

Добавлено через 5 минут
или же мне данные самих настроек необходимо кешировать

а затем использовать их при инитиализации формы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.09.2020, 15:45
Ответы с готовыми решениями:

Доступ к ликвидированному объекту невозможен
Есть некий код, работает без проблем, но при добавлении в него участка private void Timer_Tick(object sender, EventArgs e) { ...

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

RerortViewer: Доступ к ликвидированному объекту невозможен
Добрый день! Пытаюсь отобразить в репорте результат поиска в БД по дате, первый запрос работает нормально, т.е. я выбираю дату, нажимаю...

108
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 17:26
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Sanya2019 Посмотреть сообщение
вот еще тест со средством диагностики
сколько заюзано памяти и процессора
Ну, в таком приложении ни в коем случае не может быть большой нагрузки.
Просто нечему её создавать.

Только если какие-то случайные баги.

В 1С - это, скорее всего, связанна с наследием от старых версий, предыдущих методов работы, стилей программирования и т.п.

Добавлено через 2 минуты
Цитата Сообщение от Sanya2019 Посмотреть сообщение
1С писали 13 человек а я один (

вряд тли мне удастся написать приложение уровня 1С (когда либо)
Вопрос скорее коммерческий.
Оно не сказать, что сложное приложение, но требует очень много кода, в том числе и в поддержке.
Одному, конечно, такое трудно очень потянуть.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 17:35  [ТС]
https://vk.com/apdate?z=video6... l_69427573

это тот самый конструктор о котором шла речь

в нем я распалагаю контролы так как мне это необходимо

получаю данные каждого элемента и пишу их в XML это все голишь скажем так тестовое приложения (я всегда пишу отдельное приложение пробую покане добъесь результата а после пишу уже нормальное приложение что бы был рабочий варант)

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вопрос скорее коммерческий.
Оно не сказать, что сложное приложение, но требует очень много кода, в том числе и в поддержке.
Одному, конечно, такое трудно очень потянуть.
ну да но я не сдаюсь пробую мне по сути осталось сделать этот конструктор форм затем внедрит ьего в свой проект и уже писать базу данных на нем

Добавлено через 5 минут
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вопрос скорее коммерческий.

у меня две орг я занимаю предоставлением услуг хостинга сайта (у меня 8 серверов своих в датацентре)

так же занимаюсь разработкой на 1С и доработкой

так же из услуг ремонт компов (мелкий скажем так)

а так же написал на шарпе на вин формах РДП клиент со своей защитой и предостовляю тепреь услуги размещения серверов у себя на офисе для крупных магазинов вот вид клиента РДП https://vk.com/apdate?z=video6... l_69427573
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 17:36
Цитата Сообщение от Sanya2019 Посмотреть сообщение
это тот самый конструктор о котором шла речь
На WPF это будет сделать гораздо проще.
Но, почти наверняка, уже существующая структура приложения не подойдёт под WPF и придётся делать всё с нуля...

Это кстати сдерживает развитие и большинства страх программ.
Скорее всего, 1С тоже из-за этого тормозит.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 17:44  [ТС]
Смысл клиента РДП в том что нету необходимости поднимать ВПН

не нужно знать праоли от серверов

Программа хранит данные в базе данных Sqlite но данные айпи адрес порт пароль логин РДП все шибруется

и расшифровывается по ключам полученным спец методом из ид оборудования компа и пнкода пользователя

украв базу из нее ничего не достанешь )

на стороне сервера стоит микротик на котором настроены правила так что порты всегда закрыты и нужно пройти определенные правила что бы для твоего айп открылся тот или инной порт после чего ты сможешь подключится

Добавлено через 1 минуту
Цитата Сообщение от Sanya2019 Посмотреть сообщение
у меня две орг я занимаю предоставлением услуг хостинга сайта (у меня 8 серверов своих в датацентре)
это я к таму что всеравно хватает денег только на жизнь (

Добавлено через 2 минуты
окна этого рдп клиента можно перетаскивать на другие экраны и при этом они на новом экране производят переподключение (перед этим копруют данные буфера обмена )

переподключение для того что бы подстроиться под разрешение нового экрана после подняти соединения данные которые были (если были) помещаютс\я сново в буфер обмена

Добавлено через 48 секунд
Цитата Сообщение от Элд Хасп Посмотреть сообщение
На WPF это будет сделать гораздо проще.
не спорю я планирую пробовать на ВПФ но не могу найти кaк сделать нечто похожее на MDI
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 17:54
Цитата Сообщение от Sanya2019 Посмотреть сообщение
Смысл клиента РДП в том что нету необходимости поднимать ВПН
Для мня это "абракатабра".
Максимум - просто слышал термины.

Цитата Сообщение от Sanya2019 Посмотреть сообщение
...на ВПФ но не могу найти кaк сделать нечто похожее на MDI
Честно говоря, никогда не использовал.
Что даёт MDI ?
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:00  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Честно говоря, никогда не использовал.
Что даёт MDI ?
Дочерние окна всегда распалагаются в основной

Добавлено через 2 минуты
в низу как видите на панельке я сделал вывод открытых окон некий диспетчер открытых окон так работать привыкли большенство бухгалтеров да практически все кто работает на 1С

после появления 1С 8 все плюются на ее интерфейс да он красивый но он страшно неудобный СТРАШНО!
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:02
Цитата Сообщение от Sanya2019 Посмотреть сообщение
Дочерние окна всегда распалагаются в основной
По дефолту в Net не реализовано.
В принципе добавить функционал к обычному окну не сложно.
Но видел в Metro уже готовую реализацию ChildWindow.
Возможно в других пакетах тоже есть.

И для меня не очевидно поведение таких окон.
Как задавать его координаты, размеры с учётом возможности изменения таковых у родительского?
Скрывать, смещать, обрезать, ... ?
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:06  [ТС]
прост окогда бухгалтер работает с данными он открывает огромное количество окон в 1С плюс он может нааткрывать еще кучу сторонних программ таких как ворлд эксель документы браузер всякие порталы и т д

в итоге панели задачь винды попросту не хватает

а так как в 1с своя\ по сут панель задачь в итоге панель винды не захломляется

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Но видел в Metro уже готовую реализацию ChildWindow
странно я пробовал Metro в впф но не нашел ничего подходящего еслине трудно киньте в меня ссылкой пожалуйста
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Как задавать его координаты, размеры с учётом возможности изменения таковых у родительского?
я не понял Вашего вопроса простите

что значит кк задавать и для чего?

Добавлено через 1 минуту
окно настравивается как и должно быть настроено распаложение его элементов не меняется оно просо открывается в нутри родительского и все


в род окне устонавливается свой ство которое говорит чяо оно я вдляется контейнером

в дочерних передается конекст главного окна
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:08
Цитата Сообщение от Sanya2019 Посмотреть сообщение
в низу как видите на панельке я сделал вывод открытых окон некий диспетчер открытых окон...
Не понял.
Где, на каком видео.

И возможно путаница в терминологии.
Просто вывод разных представлений по одному и тому же месту в окне это ибо вкладки, либо страницы.

Окна же позволяют перемещать их в определённых границах независимо друг от друга.
То есть есть главное окно приложения, в нём несколько дочерних, которые могут могут быть независимо установлены в любые позиции (в границах главного) и независимо друг от друга перемещаться, включаться/выключаться.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:12  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
И для меня не очевидно поведение таких окон.
я выше описал чем это удобно


напрмиер Вы открыаете кучу окон Вашего приложения в панале задачь винды при этом покзана эта куча окон

далее выоткрываете еще кучу приложений других офис напрмиер документы различныфе сайты порталы и т п

в итоге бухгалтеру становитс\я очень сложно открыв напрмиер дургую программу вернуться обратно в ооротку

а в MDI есть своя панель задачь и в итоге вернувшись в 1С бух... легко найдет то что ему нужно

Добавлено через 2 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Где, на каком видео.
https://vk.com/apdate?z=video6... l_69427573

в нижней части приложения видно как появляются новые кнопочки

а если панель переполняется тогда появляется стрелка наведя на нее появляется остальные нопки для быстрого перехода между окон (открытых)
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:16
Цитата Сообщение от Sanya2019 Посмотреть сообщение
странно я пробовал Metro в впф но не нашел ничего подходящего еслине трудно киньте в меня ссылкой пожалуйста
Я не фанат Metro.
Но ссылка вот https://github.com/punker76/Ma... hildWindow
И как-то помогал делать решение с ChildWindow.
Не помню только в рабочем он состоянии или нет, но посмотрите сами.
Вложения
Тип файла: 7z AsyncShowChildWind.7z (8.4 Кб, 1 просмотров)
1
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:22
Цитата Сообщение от Sanya2019 Посмотреть сообщение
в нижней части приложения видно как появляются новые кнопочки
Это "Рабочий стол", "Номенклатура" и т.д.?
Это не окна, а вкладки или страницы.
Делаются UserContol'ами.

Добавлено через 3 минуты
Цитата Сообщение от Sanya2019 Посмотреть сообщение
Цитата Сообщение от Элд Хасп Посмотреть сообщение
И для меня не очевидно поведение таких окон.
я выше описал чем это удобно
Я интересуюсь не за удобство.
А за их поведение.
В чём отличие Окон от вкладок, страниц - описал выше.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:23  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
И как-то помогал делать решение с ChildWindow.
Не помню только в рабочем он состоянии или нет, но посмотрите сами.

да работает! интиресненько нужно попробовать сделать то что я пытаюсь

спасибо!

Добавлено через 57 секунд
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Это "Рабочий стол", "Номенклатура" и т.д.?
да!

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Это не окна, а вкладки или страницы.
Делаются UserContol'ами.

это обычные кнопки юзер контрол
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:24
Цитата Сообщение от Sanya2019 Посмотреть сообщение
нужно попробовать сделать то что я пытаюсь
То есть вам всё же нужно независимое позиционирование, наложение друг на друга вложенных окон?
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:26  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
В чём отличие Окон от вкладок, страниц - описал выше.
ну отличе от вкладок в том что они как бы независимы от закладок


мы можем минимизировать окна и раставит ьих друг рядом сдругой и работать грубоговоря сразу в обоих или даже больше )

напрмиер различные первые обна отчетов где нам необходимо выбрать счет учета субконто

оно появляется минимизированным а вот при нажатии сформировать оно максимизируется

Добавлено через 54 секунды
Цитата Сообщение от Элд Хасп Посмотреть сообщение
То есть вам всё же нужно независимое позиционирование, наложение друг на друга вложенных окон?
вроде того при этом панелька как у меня сделана что бы по нажатию на название открытого окна оно открывалось
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:26
Цитата Сообщение от Sanya2019 Посмотреть сообщение
это обычные кнопки юзер контрол
UserControl - это Представление некоего контейнера данных.
Фактически - это (как и страница) дочернее окно.
Почти все функции окна доступны и UserControl.
Он только не может быть самостоятельным элементом, не вложенным в окно.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:28  [ТС]
это очень удобно

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
UserControl - это Представление некоего контейнера данных.
Фактически - это (как и страница) дочернее окно.
Почти все функции окна доступны и UserControl.
Он только не может быть самостоятельным элементом, не вложенным в окно.
ну я имел в виду что да он как отдельный класс и каждая эта кнопка это по сути отдельный экземпляр моего класса

при открытии окна я передаю новому экземпляру класса его новое имя и ссылку на окно

и далее ложу полученную кнопку на панель
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:29
Цитата Сообщение от Sanya2019 Посмотреть сообщение
мы можем минимизировать окна и раставит ьих друг рядом сдругой и работать грубоговоря сразу в обоих или даже больше )
напрмиер различные первые обна отчетов где нам необходимо выбрать счет учета субконто
оно появляется минимизированным а вот при нажатии сформировать оно максимизируется
Это реализуется на UserControl, но по дефолту, конечно, такого поведения у них нет.

Те же ChildWind из Metro тоже сделаны на UserControl или ContenControl - уже не помню.
0
4 / 4 / 1
Регистрация: 15.03.2019
Сообщений: 676
12.09.2020, 18:32  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Те же ChildWind из Metro тоже сделаны на UserControl или ContenControl - уже не помню.
у меня есть тоговый проект с моей машинкой и формами на ВПФ (я ж писал чо пытался реализовать на впф но не получалось сделать MDI и в итоге забросил
но щас попробую с Вашим примером может что да получится
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,175
Записей в блоге: 2
12.09.2020, 18:32
Цитата Сообщение от Sanya2019 Посмотреть сообщение
ну я имел в виду что да он как отдельный класс и каждая эта кнопка это по сути отдельный экземпляр моего класса
при открытии окна я передаю новому экземпляру класса его новое имя и ссылку на окно
и далее ложу полученную кнопку на панель
Это всё не проблема.
Делается очень просто дефолтными средствами.

Чего только нет и надо реализовывать самостоятельно - это пользовательское позиционирование, изменение размеров, анимацию раскрытия и т.п.
Но реализуется это только один раз, а одном шаблоне или UserControl.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.09.2020, 18:32

System.ObjectDisposedException: "Доступ к ликвидированному объекту невозможен"
У меня две формы (первая форма это основная, а вторая форма как вспомогательная), которые одновременно загружается. Если же пользователь...

Из-за чего в первой строке пишет ошибку "Доступ к ликвидированному объекту невозможен"?
int d = DateTime.Now.Day; int my = DateTime.Now.Month; if (richTextBox1.TextLength &gt; 0 &amp;...

"Доступ к ликвидированному объекту невозможен" - почему?
Здравствуйте! У меня есть 2 формы. Первая форма запускает вторую форму вот таким вот образом: Form2 f2 = new Form2(); ...

Повторное открытие формы выдает ошибку доступа к ликвидированному объекту
Добрый вечер всем! Раньше я работал в C++ Builder и использовал метод Close() для своих форм. Затем их можно было всегда опять показать...

Доступ к ликвидированному объекту невозможен
Всем доброго времени суток. Вообщем скажу сразу речь будет о ддосе но я делаю это исключительно в целях тестирования своих игровых...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru