Instead of
static Dictionary<Control, int> controlColumns = new Dictionary<Control, int>();
static Dictionary<Control, int> controlRows = new Dictionary<Control, int>();
static Dictionary<Control, int> controlColumnSpans = new Dictionary<Control, int>();
static Dictionary<Control, int> controlRowSpans = new Dictionary<Control, int>();
static Dictionary<Control, bool> controlIsSharedSizeScopes = new Dictionary<Control, bool>();
we need to have in each Control custom named attributes and use them instead of these 5 dictionaries
Instead of static Dictionary<Control, int> controlColumns = new Dictionary<Control, int>(); static Dictionary<Control, int> controlRows = new Dictionary<Control, int>(); static Dictionary<Control, int> controlColumnSpans = new Dictionary<Control, int>(); static Dictionary<Control, int> controlRowSpans = new Dictionary<Control, int>(); static Dictionary<Control, bool> controlIsSharedSizeScopes = new Dictionary<Control, bool>(); we need to have in each Control custom named attributes and use them instead of these 5 dictionaries