Так код из первых постов это делает, в чем проблема и как Load
её решает?
нет он почемуто не хочет работать. а спомощью load я хотел сделать чтобы при каждом срабатывание формы чтобы этот код званого проверял значение чека и менял себе по его значение себе свойство visible. но этот план испортило вот это условие
Это что?
Для этого наверно тоже есть события.
Form.Shown Event (System.Windows.Forms) | Microsoft Docs
Но лучше для начала понять почему не работает.
Если Visible
в данный момент true
и всё равно не видно, то может например картинка лежит внутри панели, которая скрыта, или просто не загружена картинка, или вообще это не тот элемент.
Если Visible
само становится false
, то искать что его меняет.
я имел виду что не меняется значение visible
ну как там с решением проблемы?
Так а что с ним, решили проблему?)
Неработает условие visible - C# .NET 4.x - Киберфорум (cyberforum.ru)
можете от сюда почитать вроде подходим к концу) если появятвся ответы пишите сюда
Судя по этой строчке вы создаете новую форму, которая нигде не отображается, и меняете видимость на ней.
Ну так я ж и говорю
Так что надо понять разницу между классом и объектом/экземпляром класса, и передавать ссылку на один и тот же экземпляр формы везде.
нет она существует! значение visible меняется только 1 раз. а в следуйщих разах при нажатие на чек и проверки картинки значение не меняется
Тут речь о том, что существовать может сколько угодно экземпляров класса, и они как правило независимы друг от друга.
public class MyForm
{
public bool Visible = false;
}
public class Program
{
public static void Main()
{
var form1 = new MyForm();
var anotherForm = new MyForm();
anotherForm.Visible = true; // на Visible у form1 это не влияет
}
}
напишите тогда пожалуйста как правильно написать этот скрипт
всмысле покажите на примере
public class MyForm
{
public bool Visible = false;
}
public class AnotherForm
{
private MyForm _myForm;
public AnotherForm(MyForm form)
{
_myForm = form;
_myForm.Visible = true;
}
public void SomeEventHandler()
{
_myForm.Visible = false;
}
}
public class Program
{
public static void Main()
{
var form1 = new MyForm();
var form2 = new AnotherForm(form1);
}
}
я имею виду покажите на моем примере как правильно написать
Так это нужен код всей программы )
Ну и по примеру и описанию выше не сложно понять идею.
Если непонятно, то явно рано браться за такую программу, надо либо изучать основы программирования/C#/ООП, либо просто попросить кого-то сделать всё за деньги или по дружбе.
Ух сколько написали … неасилил все читать. Странная проблема. Создать свойства в нужной форме да и все. Вроде бы элементарно.
Если параметры формы сохранять будете то есть класс ApplicationSettingsBase на базе которого надо создать свой статичный класс и прописать там все параметры.
Каждая вновь созданная форма должна в конструкторе брать нужные ей параметры.
если надо на лету обновлять состояние форм то логичнее сделать базовую форму у которой будет метод типа UpdateMaket(). В этом методе должна быть универсальная обработка для контролов.
Да в любом случае подобные механики требуют какой никакой подготовки. Так просто с нуля будет проблематично понять потоки данных и логику поведения процессов.
тогда я создаю новую тему с другими условиями по типу чтобы изменение применялись поле перезагрузки программы!
Тут видимо сами компоненты формы сделаны public
.
Да как написано в последних сообщениях, тут проблема похоже в том, что там, где изменение видимости чекбоксом, создается новый невидимый экземпляр формы, вместо использования того экземпляра, что был создан и показан пользователю ранее.
аа… ну похоже на то.
Вообще организация работы в многоформенном (многопоточном) приложении требует особого подхода. Там и контроль всех потоков, и управление, и синхронизация данные… да и сами потоки данных надо контролировать … Некоторый опыт то конечно для такого нужен.