Bonjour,
J'ai un autre type de problème lié à l'ajout de contrôle dans un panel, par contre, je peux te montrer comment moi j'ajoute mes contrôles.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
#region AFFICHER LES QUESTIONS DANS LE PANEL CONTENEUR
internal void setConteneurQuestion(Panel monQuestionnaire, DataRow[] mesQuestions)
{
/* maQuestionBooleene est un contrôle utilisateur composé d'un textbox, de 2 RadioButton
et d'un richtextbox. J'en ajoute plusieurs dynamiquement au panel passé en paramètre
pour générer un questionnaire.
Le textbox de maQuestionBooleene est mis à jour par un des DataRow de mesQuestions.
*/
String leThemeEnCours = "";
foreach(DataRow uneQuestion in mesQuestions)
{
//J'ajoute ponctuellement au panel Un textBox dont le libellé
//est le nouveau thème dont feront parties les questions.
if(uneQuestion["question_theme"].ToString() != leThemeEnCours)
{
leThemeEnCours = uneQuestion["question_theme"].ToString();
TextBox unTextBoxTheme = new TextBox();
unTextBoxTheme.Font = new Font("Arial", 20, FontStyle.Bold);
unTextBoxTheme.ForeColor = Color.PeachPuff;
unTextBoxTheme.BackColor = Color.DarkRed;
unTextBoxTheme.Dock = DockStyle.Bottom;
unTextBoxTheme.BorderStyle = BorderStyle.None;
unTextBoxTheme.Text = leThemeEnCours;
monQuestionnaire.Controls.Add(unTextBoxTheme);
}
QuestionTypeBool maQuestionBooleene = new QuestionTypeBool(uneQuestion);
maQuestionBooleene.Dock = DockStyle.Bottom;
maQuestionBooleene.Name = "maQuestionBooleene";
maQuestionBooleene.libelleTextbox.Text = uneQuestion["question_libelle"].ToString();
monQuestionnaire.Controls.Add(maQuestionBooleene);
}
monQuestionnaire.AutoScroll = true;
}
#endregion |
Et donc, tout ceci s'affiche merveilleusement bien, mon scrollbar apparaît comme il faut, où il faut, je vois tous les contrôles, c'est magnifique mais...Eh oui il y a un mais...Lorsque je clique sur un contrôle (utilisateur ou non, le textbox d'un thème de questions par exemple), le scrollbar revient à sa position initiale, sans perdre le focus du contrôle sur lequel j'ai cliqué. Je m'interroge sur l'origine de ce bug.
Est ce que ca peut venir d'une histoire de zone client et zone non cliente ? En effet, une fois tous les contrôles ajoutés, mon panel change de taille physiquement, mais quand je l'interroge en contrôlant sa taille avant et aprés ajout, il me renvoie des tailles similaires.
Je vous remercie d'avance pour toutes suggestions à ce propos.
Partager