If I understand correctly, you want to implement something like that ...

Use the Tag property value to compare. For clarity, I create checkboxes in the code, but you are free to create them in the designer, just remember to assign the necessary values for the Tag property to all checkboxes.
public partial class Form1 : Form { private readonly string _tagDog = "Dog"; private readonly string _tagCat = "Cat"; public Form1() { InitializeComponent(); this.StartPosition = FormStartPosition.CenterScreen; this.Text = "Пример"; //добавляем в коде чексбоксы AddTypeAnimalsCheckboxes(); AddAnimalsCheckboxes(); } private void AddTypeAnimalsCheckboxes() { int startY = 33; int delta = 20; var checkBoxDogs = new CheckBox { Name = "checkBoxDogs", Tag = _tagDog, //! Text = "Собаки", Height = 17, Width = 70, Location = new Point(x: 34, y: startY) }; var checkBoxCats = new CheckBox { Name = "checkBoxCats", Tag = _tagCat, //! Text = "Кошки", Height = 17, Width = 70, Location = new Point(x: 34, y: startY + delta) }; checkBoxDogs.CheckedChanged += CheckBoxAnimal_CheckedChanged; checkBoxCats.CheckedChanged += CheckBoxAnimal_CheckedChanged; groupBoxTypeAnimal.Controls.Add(checkBoxDogs); groupBoxTypeAnimal.Controls.Add(checkBoxCats); } private void AddAnimalsCheckboxes() { int startY = 33; int delta = 20; var checkBoxDog1 = new CheckBox { Name = "checkBoxDog1", Tag = _tagDog, //! Text = "Шарик", Height = 17, Width = 70, Location = new Point(x: 36, y: startY) }; var checkBoxCat1 = new CheckBox { Name = "checkBoxCat1", Tag = _tagCat, //! Text = "Мурзик", Height = 17, Width = 70, Location = new Point(x: 36, y: startY + delta) }; var checkBoxDog2 = new CheckBox { Name = "checkBoxDog2", Tag = _tagDog, Text = "Мухтар", Height = 17, Width = 70, Location = new Point(x: 36, y: startY + delta * 2) }; var checkBoxCat2 = new CheckBox { Name = "checkBoxCat2", Tag = _tagCat, Text = "Барсик", Height = 17, Width = 70, Location = new Point(x: 36, y: startY + delta * 3) }; groupBoxAnimals.Controls.Add(checkBoxDog1); groupBoxAnimals.Controls.Add(checkBoxCat1); groupBoxAnimals.Controls.Add(checkBoxDog2); groupBoxAnimals.Controls.Add(checkBoxCat2); } private void CheckBoxAnimal_CheckedChanged(object sender, EventArgs e) { CheckBox checkBox = sender as CheckBox; foreach (CheckBox cb in groupBoxAnimals.Controls.OfType<CheckBox>()) { //ищем по совпадению со значением Tag if (cb.Tag == checkBox.Tag) { cb.Checked = checkBox.Checked; } } } }