Ajouter un vscrollbar pour une panel

cs_fayrous Messages postés 48 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 30 avril 2009 - 19 mars 2009 à 14:10
cs_fayrous Messages postés 48 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 30 avril 2009 - 22 mars 2009 à 20:18
salut,
dans mon Form j'ai une panel sa longueur égale à la longueur du Form.
j'ai utilise la panel pour afficher les données de mon formulaire mais sa longeur est insuffisant .je pense de lui ajouter un vscrollbar mais je ne connais pas comment le programmer .
S.V.P donnez mois une idée.

merci d'avance.

4 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
20 mars 2009 à 21:44
Bonsoir
Les Panels ont une propriété "AutoScroll" qui permet de gerer les scroll-barre automatiquement.
Positionne là à "true"
si ensuite tu etends un contrôle en dehors du panel, ou si tu ajoutes un contrôle en dehors du panel, les scroll-barres vont apparaitre.

De même les formes ont cette propriété, si tu la mets à true, et que tu augmentes les dimentions de ton Panel alors les scroll-barres vont apparaitre.

Cdlt
C# is amazing, enjoy it!
0
cs_fayrous Messages postés 48 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 30 avril 2009
20 mars 2009 à 23:19
salut,
je fais AutoScroll=True mais la scrollBarre n'apparait pas tansdis que les données sont suppérieur à la longueur du panel
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
21 mars 2009 à 21:30
Bonsoir Fayrous,

nous avons d'autre sujet d'ouvert ensemble.
Si je compile tes differentes demandes, alors tu dois essayer d'écrire sur le panel avec un DrawString.
dans ce cas, les barres de défilement ne s'afficheront pas en effet.
comme je te le dis plu haut, ce n'est que lorqu'un control se trouve en dehors que les barres de défilement s'afficheront, et non pas une écriture sur le Graphic.

si tu veux avoir les barres de défilement dans ce cas précis, il faut positionner la propriété AutoScroll sur la form et etendre ton panel (en changeant la propriété Width).
genre:

private
void button1_Click(
object sender, System.EventArgs e)
{
Font MyFont =
new Font(FontFamily.GenericMonospace, 14);
Graphics g = panel1.CreateGraphics();
SizeF size= g.MeasureString(textBox1.Text,MyFont);
panel1.Width=(
int)size.Width;
Application.DoEvents();
g.DrawString(textBox1.Text,MyFont, Brushes.Black ,
new RectangleF(0,0,panel1.Width,panel1.Height));
}

C# is amazing, enjoy it!
0
cs_fayrous Messages postés 48 Date d'inscription lundi 23 février 2009 Statut Membre Dernière intervention 30 avril 2009
22 mars 2009 à 20:18
Bonsoir MR Robert33,
merci beaucoup pour ton encadrement.
mon but est de faire un générateur de Q CM. Dans mon form j'ai des richBox ou l'utilisateur écrire leur diffèrent questions et les propositions pour chaque question. après avoir remplir le formulaire l'utilisateur il a besoin d'imprimer une feuille de Q Cm donc il faux voir le modèle avant.
Alors je pense de récupèrer les données du formulaire dans une panel qui est diviser par une ligne verticale au milieu . donc j'ai deux problèmes .la première est: les textes qui seront afficher dépasse la longueur du panel et cela est résolu comme tu a ma dis en activant les autoscroll pour le form et la panel.le deuxième est:quand j'utilise la fonction drawstring les données s'affichent sur tout le width du panel (dépaase le ligne de division).
S.V.P j'ai une question est ce que j'ai capable d'imprimer les données qui sont sur la panel tans disque elle peut être trop longe?
et MERCI
0
Rejoignez-nous