J'ai un panneau avec AutoScroll
mis à true
. Dans celui-ci, j'ajoute par programmation ComboBox
contrôles. Si j'ajoute suffisamment de contrôles pour dépasser la taille visible du panneau, une barre de défilement apparaît (jusqu'ici tout va bien). Cependant, si j'ouvre l'une des listes déroulantes près du bas de la zone visible, la liste déroulante n'est pas affichée correctement et la zone défilante semble être agrandie. Il en résulte que tous les contrôles sont "tirés" vers le nouveau fond du panneau avec un nouvel espace vide en haut. Si je continue à appuyer sur la liste déroulante en bas du panneau, la zone défilante continuera à se développer indéfiniment. J'ancre les contrôles à gauche, à droite et en haut donc je ne pense pas que l'ancrage soit impliqué. Y a-t-il quelque chose d'évident qui pourrait en être la cause?Zone de liste déroulante dans un panneau déroulant provoquant des problèmes
Mise à jour: Il semble que le problème réside dans l'ancrage des contrôles vers la droite. Si je n'ancre pas à droite alors je n'obtiens pas le comportement étrange. Cependant, sans ancrage correct, le contrôle est coupé par la barre de défilement.
est ici un test simplifié I construit qui montre la question:
public Form1()
{
InitializeComponent();
Panel panel = new Panel();
panel.Size = new Size(80, 200);
panel.AutoScroll = true;
for (int i = 0; i < 10; ++i)
{
ComboBox cb = new ComboBox();
cb.Anchor = AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Top;
cb.Items.Add("Option 1");
cb.Items.Add("Option 2");
cb.Items.Add("Option 3");
cb.Items.Add("Option 4");
cb.Location = new Point(0, i * 24);
panel.Controls.Add(cb);
}
Controls.Add(panel);
}
Si vous faites défiler le bas du panneau et appuyez sur les zones de liste déroulante près du fond que vous remarquerez l'étrange comportement.
quelle plateforme? Silverlight? wpf? flash? winforms? aspic? (etc.) –
Winforms, désolé de ne pas inclure cette balise plus tôt. – Dennis
J'ai essayé votre code de test et n'ai rien vu de semblable à ce que vous avez décrit. Quelle version de Visual Studio utilisez-vous? – stone