How to remove unchecked checkbox dynamically

Hello
I am making a win form application on frame work 3.5 using C#.
I am creating dynamic checkboxes depending on the numbers of records in access table. After this I am also able to get the name, text and other properties of dynamically created checkboxes and I am displaying the name of selected checkboexs in dynamically created labels on Form.
My problem is if I uncheck the checkbox, then also name of that checkbox is coming on lable, I want to remove that dynamic label from the form for which checkbox is unchecked.
Example of Form Design
dCeck1 dCheck2 dCheck3 dCheck4 dCheck5 (if dCeck1 dCheck2 dCheck4 dCheck5 is selected)
dLabel1 dLabe2 dLabe4 dLable5 (these label will be displayed)
Now if I unselect dCheck4 then dLabel4 should be removed.

Using a number to identify the label, means that it will be hard to recognize which label goes with which checkbox. By changing the format of the label name to include the name of the checkbox, this becomes much easier. Something like this should work:

I noticed, in your code, that if a user keeps checking and unchecking the checkboxes, more labels will get added, without consolidating space when any are removed. By using the number of the checkbox to set the location of the label, the label for each checkbox will only appear in one place.