Adicionando / removendo controles com o mesmo nome de referência

Eu estou adicionando controles em um painel um após o outro quando o usuário clica em um botão. Os controles são exibidos um após o outro no painel. Quando o painel está cheio, e. dez, o próximo controle adicionado tem que substituir o primeiro controle que foi adicionado, mas primeiro eu preciso remover o primeiro controle .... o problema é que todos os controles que estão sendo criados têm a mesma referência, e. "pic", agora quando eu uso panel1.Controls.Remove (pic) não especifica que o controle na primeira posição precisa ser removido !!

int index = 0;  

if (util.GetSize() != 10)
{
    ms.Controls.Add(musNote);
}
else
{   
    ms.Controls.Add(musNote); //this to replace first musNote added... but before I need to remove the musNote that in that position already (problem all of the are musNote!!
    index++;
    if (index == 10)
    {
        index = 0;
    }
}
musNote.ShowNote();

O acima não é o código inteiro, mas deve ser o suficiente para resolver o problema .. se houver alguma informação. é necessário por favor me pergunte np. Tks adiantado para a ajuda.

questionAnswers(1)

yourAnswerToTheQuestion