
vb 怎么样设定一个程序,让月份和每个月的天数对应起来? 就像一个注册页面中选择出生年月日一样
比如说2月闰年有29天,其余28天?PrivateSubForm_Load()y=Combo1.Textm=Combo2.Textd=Combo3.TextFory=19...
比如说2月闰年有29天,其余28天?
Private Sub Form_Load()
y = Combo1.Text
m = Combo2.Text
d = Combo3.Text
For y = 1960 To 2013
Combo1.AddItem y
Next y
For m = 1 To 12
Combo2.AddItem m
Next m
If m = 1 Or 3 Or 5 Or 7 Or 8 Or 10 Or 12 Then
For d = 1 To 31
Combo3.AddItem d
Next d
ElseIf m = 4 Or 6 Or 9 Or 11 Then
For d = 1 To 30
Combo3.AddItem d
Next d
Else
If y Mod 4 = 0 Then
For d = 1 To 29
Combo3.AddItem d
Next d
Else
For d = 1 To 28
Combo3.AddItem d
Next d
End If
End If
End Sub
这个是我写的,可是不能用。。。55555~~~~~~~~~~~~~~~~~~~~~~~·· 展开
Private Sub Form_Load()
y = Combo1.Text
m = Combo2.Text
d = Combo3.Text
For y = 1960 To 2013
Combo1.AddItem y
Next y
For m = 1 To 12
Combo2.AddItem m
Next m
If m = 1 Or 3 Or 5 Or 7 Or 8 Or 10 Or 12 Then
For d = 1 To 31
Combo3.AddItem d
Next d
ElseIf m = 4 Or 6 Or 9 Or 11 Then
For d = 1 To 30
Combo3.AddItem d
Next d
Else
If y Mod 4 = 0 Then
For d = 1 To 29
Combo3.AddItem d
Next d
Else
For d = 1 To 28
Combo3.AddItem d
Next d
End If
End If
End Sub
这个是我写的,可是不能用。。。55555~~~~~~~~~~~~~~~~~~~~~~~·· 展开
展开全部
Private Sub Combo3_GotFocus()
Combo3.Clear
If Len(Combo1.Text) = 0 And Len(Combo2.Text) = 0 Then Exit Sub '如果年 月为空,则退出
m = IIf(Combo2.Text = 12, 1, Combo2.Text + 1) '获取选择月份的下一个月份
date1 = DateSerial(Combo1.Text, m, 1) '将年月日组合为日期
date1 = DateAdd("d", -1, date1) '日期加 -1 ,即下个月的一号 减一天,即可得到这个月的最后一天
m = DatePart("d", date1) '获取得到的日期的最后一天
For d = 1 To m
Combo3.AddItem d
Next
Combo3.ListIndex = 0
End Sub
Private Sub Form_Load()
For y = 1960 To 2013
Combo1.AddItem y
Next
Combo1.ListIndex = Combo1.ListCount - 1
For m = 1 To 12
Combo2.AddItem m
Next
Combo2.ListIndex = 0
End Sub
展开全部
要弄清楚你需要使用什么事件以及各事件和控件之间的逻辑关系!
代码如下:
Private Sub Form_Load()
Dim i As Integer
Dim n As Integer
For i = 1960 To Year(Now)
Combo1.AddItem i '先给年组合框填入年份
Next
Combo1.Value = Year(Now) '为年组合框初始化为当前年份
For n = 1 To 12
Combo2.AddItem n '给月组合框填入月份
Next
Combo2.Value = Month(Now) '为月组合框初始化为当前年份
End Sub
'-----------------------------------------------------------------
Private Sub Combo2_Change()
'关键在这里,你选定了月份之后,天数才根据年月的值进行变化。
'所以要引入Change事件
Dim y As Integer
Dim m As Integer
Dim d As Integer
Dim i As Integer
y = Combo1.Value
m = Combo2.Value
Select Case m '先通过Select或者If条件语句,确定每个月有多少天
'变量d就表示这个月有多少天
Case 1, 3, 5, 7, 8, 10, 12
d = 31
Case 4, 6, 9, 11
d = 30
Case 2
'实际上只需要在2月份判断闰月
If (y Mod 4 = 0 And y Mod 100 <> 0) Or y Mod 400 = 0 Then
d = 29
Else: d = 28
End If
End Select
Combo3.Clear '对Combo3填入数据之前,先清空上次选定月份的数据。
For i = d To 1 Step -1 '为了测试时好看,我从最后一天填到1号
Combo3.AddItem i
Next
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 ……&%¥&%%%%%%%%%%%%%%%……》》》
这个是答案
这个是答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询