Bonjour,
j'essaie d'intégrer une liste de question/réponse sous forme de 2 contrôles (label, checkedlistbox) dans un panel. Le nombre de ces question/réponse dépendra d'une base de donnée, mais là, c'est juste pour mettre en place le tout.
La création de ces 2 contrôles est faite via une itération for, et mon souci est que l'ordre des 2 premiers contrôles est inversé, pour ensuite revenir normalement. Cela fait:
Réponse
Question
Question
Réponse
Question
Réponse...
J'ai essayé de modifier les points de location, mais cela ne doit pas être le problème apparemment.
Voici le code:
Quelqu'un peut-il me mettre sur la voie svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
41
42
43
44
45
46
47
48
49
50
51
52 /*Méthode pour créer l'instance de contrôles. Paramètres pour le nombre de questions et l'ajout d'un espace vertical entre les questions*/ private void CreationControles(byte NbQuestion, int y) { //Création de l'instance du contrôle Label pour l'intitulé de la Question Label Question = new Label(); //Définir la propriété du contrôle: Name."lblQuestion"=nom, suivi du paramètre NoQuestion Question.Name = "lblQuestion" + NbQuestion; //Définir la taille du contrôle dans le container (le contrôle Panel du Questionnaire ici) Question.Size = new Size(this.pnlQuestionnaires.Width - 52, 39); //Taille = largeur panel -52 //Définir la location dans le container Question.Location = new Point(10, y); //Définir l'interdiction de redimensionner le contrôle Question.AutoSize = false; //Mettre un texte "provisoire" pour l'intitulé de la question. Les questions viendront ensuite depuis la base de données. Question.Text = "Question"; //Ajouter ce contrôle dans la collection du Panel pnlQuestionnaires.Controls.Add(Question); //Création de l'instance du contrôle CheckedListBox pour les Réponses CheckedListBox Reponse = new CheckedListBox(); Reponse.Name = "clbReponse"; Reponse.Size = new Size(this.pnlQuestionnaires.Width - 52, 39); Reponse.Location = new Point(10, y+40); Reponse.Items.Add("Réponse"); Reponse.Items.Add("Réponse2"); pnlQuestionnaires.Controls.Add(Reponse); } private void frmQuestionnaires_Load(object sender, EventArgs e) { //Appel de la méthode pour afficher les contrôles définis //Description: Nom de la méthode (paramètre numéro de question, paramètre hauteur par rapport au haut du panel) CreationControles(4, 100); //Création de l'itération pour définir le nombre de questions/réponses selon la taille du Questionnaire int y = 0; //Initialisation de la variable de position des contrôles par rapport au Top du formulaire for (byte i = 1; i <= 10; i++) { if (i == 1) y = y - 12; //1er contrôle else y = y + 86; CreationControles(i, y); //Appel de la méthode } }![]()
Partager