Você, que para deixar a sua aplicação mais elegante enquanto ela é executada em background, coloca um ícone na barra de notificação do Windows e quer utilizar um ícone que esteja em um ImageList, vai a solução:

notifyIcon1.Icon = Icon.FromHandle(((Bitmap)imageList1.Images[0]).GetHicon());

O que o código acima faz é atribuir o handle de uma imagem contida em um ImageList para a propriedade Icon de um componente NotifyIcon de um formulário.

Este código é util para facilitar as mudanças de ícones conforme o estado da aplicação: o ícone X enquanto ela está parada, ícone Y enquanto em processamento, etc.

Muito simples, não é? :-)

[Via: Ryan Farley]

Um abraço!