当前位置:编程学习 > VB >>

VB组合框问题

这是窗体1:

Private Sub Command1_Click()
Form1.Hide
Form2.Show
End Sub

Private Sub Command2_Click()
End

End Sub

Private Sub Form_Load()
Dim a As Integer

Combo1.Text = ""
For a = 1949 To 2010
Combo1.AddItem a
Next
Combo1.ListIndex = 0

Dim s As Integer

Combo2.Text = ""
For s = 1 To 12
Combo2.AddItem s
Next
Combo2.ListIndex = 0

Dim d As Integer

Combo3.Text = ""
For d = 1 To 31
Combo3.AddItem d
Next
Combo3.ListIndex = 0

End Sub

这是窗体2:

Private Sub Command1_Click()
End
End Sub

Private Sub Command2_Click()
Form2.Hide
Form1.Show
End Sub

Private Sub Form_Load()
Txt1.Text = ""
Txt1.Text = "你的出生日期是:" & Str(a) & Str(s) & Str(d)
End Sub

想问一下,为什么点击确定之后文本框中显示“你的出生日期是:0 0 0 ”?

 

还有怎么把组合框list里的值提取出来?

 

还请高手解答。。。感谢至极!!!

 

追问:我想问一下,我把dim改成了public,然后在a,s,d前面加了form1,然后选中1949/1/1,可是为什么在窗体2中显示的却是2011/13/32?

这是怎么回事?

还有问一下:大、小、平月和平年闰年,每月的日期都不一样,那我应该怎么修改?

问这么多问题,不会觉得烦吧?

 

答案:因为你的a,s,d是在Private Sub Form_Load()中定义的,所以你把a,s,d定义成Form1私有的(Private)变量,因此不能再Form2中调用。

要解决这方法你必须把a,s,d定义成公有的(Public)。

你窗口2(Form2)的代码是没问题的。

-------------------------------------------

我下面的代码是在VB2008上运行的,有的地方和VB6.0有区别,但总体思路是一样的,如果有不明白的地方可以继续问我。

Public Class Form1
    Public a As Integer
    Public s As Integer
    Public d As Integer

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load       
        For i = 1949 To 2010                  /* 这里为3个ComboBox输入值,没必要分别用三个变量,使用一个i即可 */
            ComboBox1.Items.Add(i)
        Next


        For i = 1 To 12
            ComboBox2.Items.Add(i)
        Next


        For i = 1 To 31
            ComboBox3.Items.Add(i)
        Next
    End Sub    /* 这里面我把3个循环附近的Combo1.Text = ""和Combo1.ListIndex = 0两个语句都去掉了,我在我机子上去掉后,运行已经能达到你输出日期的目的,如果你这两段代码有其它用处,你自己加上 */

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        a = ComboBox1.Text
        s = ComboBox2.Text
        d = ComboBox3.Text
        Form1.Hide()
        Form2.Show()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub
End Class

-----------------------------------------------

希望对你有帮助     O(∩_∩)O~

这样肯定不行啦~因为你a,s,d的变量是定义在了窗体1里面,变量a,s,d只能在窗体1之间使用。窗体2是不能使用的。

获取list里面的东西:print combo1.list(组合框的索引值)

上一个:VB入门知识
下一个:vb 多线程

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,