J'ai créé un contrôle utilisateur qui regroupe trois composants basiques : un textBox, un button et une listeView.

Ce contrôle a pour but de se comporter comme une combobox mais avec la possibilité d'avoir des colonnes dans sa zone de liste. En effet, une combobox ne permet seulement que d'afficher du text brut avec un style, une police et un fond je crois bien, mais impossible de formater l'affichage en colonne.

Mon probème se situe au niveau de l'affichage. Mon controle fait 140 pixels sur 20 (la taille exacte du texteBox + celle du button). La listeBox se situe en dessous du textbox, hors de la surface d'affichage du contrôle. Ensuite, dès que l'utilisateur clique sur le bouton, j'agrandi la surface d'affichage du contrôle pour rendre visible la listeView. Tout ceci fonctionne très bien. Cependant, si le contrôle est situé dans un groupBox par exemple, la listeView du contrôle sera coupée car considérée commme à l'intérieur du groupBox. Une comboBox ne se comporte pas de la sorte, la zone de liste reste visible !

Je me demandais s'il était possible donc d'appliquer une sorte de priorité à l'affichage de la listeView du contrôle (agir sur le OnPaint() de la listView ?) et aussi s'il est possible de rendre le fond du contrôle transparent pour ne pas masquer les autres composants ?
J'espère avoir été précis et méthodique dans ma description.

Merci pour votre aide.