Ничего хорошего не получится, если сделать зависимый пользовательский интерфейс статическим.Одно дело сделать компонент статичным, и это может быть нормально, но для чего-то вроде CheckBox
, вы просто напрашиваетесь на неприятности.Для начала, один элемент управления может иметь только одного родителя.Таким образом, вы не можете просто сделать один экземпляр своего элемента управления и ожидать, что сможете добавить его к нескольким формам, и все будет волшебным образом синхронизировано.Если вам нужно поделиться некоторыми значениями, сделайте это правильно и свяжите их, зарегистрируйте некоторые события, поделитесь значением , а не элементом управления, содержащим значение, или другими подобными методами.
Я также не могу рекомендовать вам изменять сгенерированные файлы (особенно если они генерируются с помощью инструмента, который вы используете постоянно).Если вы должны настаивать на том, чтобы сделать элемент управления статичным, объявите его в вашем исходном файле для класса, а не в файле, созданном дизайнером, классы объявляются partial
по причине.
Вы, вероятно, пытаетесь поделиться некоторым значением bool
, которое представляет CheckBox
.Сделайте статическим свойством .
public partial class MyForm : Form
{
public static bool IsToggled { get; set; }
}
Если где-то внизу строки вы хотите связать это с событием или чем-то еще, вы всегда можете изменить реализацию средств доступа.