. . . is better to use a multi-dimensional array to store the state of each check box . . .
No. Storing data in parallel arrays is not OOP and not manageable or easily maintained for data of any size.
In an OOP paradigm, objects are characterized by the data/properties/attributes specified by variables in that object's instance. The hundred or so checkbox values may be stored in instance variables for each object, perhaps in collections of some kind grouped logically in smaller numbers. Keep the collections simple so that they can be easily accessed for storage and retrieval of their contents.
IMO, understanding what OOP is, what it can do for you on a project like this, and what you need to know and do to take advantage of OOP are what you should be focusing on while you recover basic language skills and tools. Keep studying, reconnecting those neurons, considering what you may do with the recovered skills on this new project, and the design will become more clear with fluency and confidence. (Remember looking at that old code as a foreign language from a different lifetime when writing the new code and COMMENT the new code.) You'll pick it back up rather quickly. Code efficiency and clarity will come with practice, confidence, and use of consistent coding practices. Practice, practice, practice.