Redimensionner simultanement plusieurs objet dans un flowlayoutpanel
DeveloppeurVb
Messages postés125Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention19 avril 2016
-
21 juil. 2011 à 08:21
DeveloppeurVb
Messages postés125Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention19 avril 2016
-
9 août 2011 à 10:10
Bonjour,
J'ai un probleme avec le formlayoutpanel en vb.net.
A partir d'une requete SQl sur une base de donnée,je créer des un richtextbox dans un formlayoutpanel.
Ne sachant pas combien de richtextbox je vais avoir besoin, ceux si sont creer dynamiquement dans le formlayoutpanel.
Exemple du code : (Simplifie) qui genere les rtfbox
Do while MyDAORecordset.eof= false
If Txt <> "" Then
RichTextboxX = New RichTextBox
RichTextboxX.Name = MyDAORecordset("Ligne").Value
RichTextboxX.Multiline = True
RichTextboxX.WordWrap = True
RichTextboxX.Tag = MyDAORecordset("Ligne").Value
RichTextboxX.BorderStyle = BorderStyle.None
RichTextboxX.Width = Me.FlowLayoutPanel1.Width - 20
RichTextboxX.Text = Txt
'
Me.FlowLayoutPanel1.Controls.Add(RichTextboxX)
End If
MyDAORecordset.movenext
loop
Je voudrais pouvoir redimensionner simultanement les richtextbox dans l'evenement form_resize de la form
qui contient le flowlayoutpanel
Comment pourrais je faire
NHenry
Messages postés15083Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention19 septembre 2023159 21 juil. 2011 à 20:49
Bonjour,
Tu peux les mettre dans une liste (List(Of RichTextBox)) Et ensuite, lors de l'evenement Resize de la form, (ou du controle) tu peux agir dessus.
Sinon, il me semble qu'un controle (TableLayoutPanel, je crois) permet de faire déjà un tableau, tu peux aussi voir de ce coté, avec aussi la propriété Dock des controles contenu à Fill.
Private Sub RichTextboxX_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles RichTextboxX.Resize
If Me.FlowLayoutPanel1.Controls.Count > 0 Then
Dim RtBox As RichTextBox
Dim R
For R = 0 To Me.FlowLayoutPanel1.Controls.Count - 1
RtBox = Me.FlowLayoutPanel1.Controls(R)
RtBox.Width = Me.FlowLayoutPanel1.Width - 30
Next
End If
End Sub
et voila.
on ne sait jamais cela pourra peut etre servir a quelqu'un.