Я пытаюсь ссылаться на булевую переменную в VBNet на другую форму, но она сбрасывается всякий раз, когда я ссылаюсь на нее. Например, на форме Form1:vb.net Переменные Получение Сброс
Dim flag as boolean = false
, а затем где-то я поставил его к истинному Тогда, когда я называю это из другой формы:
если FORM1.flag = верно, то .....
но затем он переходит к 1 и сбрасывает флаг на false.
Как я могу сбросить свой флаг?
Благодаря
Вы получаете доступ к Form1 через экземпляр по умолчанию, который, скорее всего, ** не ** тот же экземпляр, который отображается. Вам нужна ссылка на правильный экземпляр. Либо передайте этот экземпляр другой форме, либо сообщите, что состояние должно быть изменено с помощью других средств (например, другая форма, создающая пользовательское событие, на которое подписана Form1). –
Стандартная ловушка VB.NET, этот код работает в рабочем потоке, поэтому создает экземпляр * new * объекта формы. Тот, который вы не видите, потому что его метод Show() никогда не вызывался. Изучение различия между типами (например, Form1) и ссылками на объекты может быть проблемой. –