salve ragazzi
allora io ho una panel contenitore la cui proprietà dock = Fill.
All'interno di questa panel ho un'altra panel nella quale carico con il metodo controls.add una serie di label una sotto l'altra che mi determina il numero di camere.
Adesso vorrei che la VScrollBar scrollasse solamente per la grandezza ovviamente in altezza della seconda panel che contiene le label.
Se imposto la proprietà maximum manualmente funziona ma nel momento in cui aumento la grandezza della form a tutto schermo la scroll funziona sempre ma scrolla molto di più del numero di label che sono caricate lasciando quindi uno spazio vuoto orribile da vedere.
Ora posto la sub con cui creo creo le label e lì io setto anche manualmente la maximun della Vscrollbar ma vorrei che tutto funzionasse ad hoc con il ridimensionamento della form
Private Sub CreaCamere()
Dim MycamereCount As Integer
Dim CoordinateY As Integer
With Me
MycamereCount = 50
If MycamereCount > 0 Then
REM settaggio panel camere
.Proom.Location = New System.Drawing.Point(0, 0)
.Proom.Height = MycamereCount * 30
.Proom.Width = 60
.VScrollBar1.Maximum = 50 - 11
REM creo tutte le camere
For c As Integer = 1 To MycamereCount
Dim LbCamera As New System.Windows.Forms.Label
LbCamera.BorderStyle = BorderStyle.FixedSingle
LbCamera.BackColor = Color.Gainsboro
LbCamera.ForeColor = Color.Blue
LbCamera.Name = c
LbCamera.Text = "Nr. " & c
LbCamera.TextAlign = ContentAlignment.MiddleLeft
LbCamera.Size = New System.Drawing.Size(50, 30)
LbCamera.Location = New System.Drawing.Point(0, CoordinateY)
.Proom.Controls.Add(LbCamera)
CoordinateY = CoordinateY + 30
Next
End If
End With
End Sub
questa è l'evento scroll della VscrollBar
help me
ciao
Cirillo Fabio
www.trycontact.com
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com