Mi chiedo se esista un modo più breve per ottenere il numero dei giorni di un mese.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Calcolo del numero dei giorni del mese
Dim dat, base As Date
Dim numero As Integer = 1
Dim mese As Integer = Now.Month
dat = CDate("1/" & Now.Month & "/" & Now.Year)
base = dat
Do
dat = dat.AddDays(1)
If dat.Month <> base.Month Then Exit Do
numero += 1
Loop
'definizione della variabile oggetto
Dim casella As Label
For n = 0 To numero - 1
casella = New Label
'attribuzione delle proprietà alla label appena istanziata
With casella
.BorderStyle = BorderStyle.FixedSingle
.Left = 0
.Top = .Height * (n Mod numero)
End With
Me.Controls.Add(casella)
Next
End Sub
Funziona, ma mi chiedo se esista un metodo in VB.NET che mi possa evitare di fare tutto questo casino...
Ho trovato qualcosina. Ora provo...
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Calcolo del numero dei giorni del mese
Dim numero As Integer
numero = DateTime.DaysInMonth(2012, 2)
'definizione della variabile oggetto
Dim casella As Label
For n = 0 To numero - 1
casella = New Label
'attribuzione delle proprietà alla label appena istanziata
With casella
.BorderStyle = BorderStyle.FixedSingle
.Left = 0
.Top = .Height * (n Mod numero)
End With
Me.Controls.Add(casella)
Next
End Sub
Funziona! Ed è molto più breve!!!(ho provato con febbraio perchè si distingue dagli altri, e quest'anno è pure bisestile!)
Nessun commento:
Posta un commento