设计一个程序界面,有两个窗体的应用程序。用户在Form窗体(输入窗体)的“请输入排序数个数”文本框输入有效数,按回车键后,在该窗体的“Picture1”图片框中输出排序前的数,单击“排序”按钮,启动Form2窗体,调用冒泡排序子过程Sort并把排序结果在Form2(输出结果)窗体的“Picture1”图片框中输出,在Form2(输出结果)窗体的“请输入要查找的数”文本框内输入要查找的数后,单击“查找”按钮,调用查找函数过程(Search),查找结果在“查找结果”文本框显示,单击“结束”按钮结束应用程序的运行。求大神赐教啊
第一个代码是声明函数
Public Sub sort(a() As Integer)
      Dim n As Integer
      Dim t As Integer
      n = UBound(a())
      For i = 1 To n - 1
        For j = i + 1 To n
           If a(i) > a(j) Then
             t = a(i)
             a(i) = a(j)
             a(j) = t
           End If
        Next j
      Next i
  End Sub
 第二个是form1中picture1输出 ,我想把输出改成每15个一行,如何更改呢
Private Sub Text1_KeyPress(KeyAscii As Integer)
      Dim a()
      Dim i As Integer
      Dim n As Integer
      Dim s As String
      Dim count As Integer
      n = Val(Text1.Text)
      If n > 0 Then
          ReDim a(n - 1)
          For i = 0 To n - 1
              Randomize
              a(i) = Int(Rnd * 101)
              s = s & a(i) & " "
              Next i
          If KeyAscii = 13 Then
          Picture1.Print s
          End If
      End If
 End Sub还有就是,如何调用第二个窗口,实现command1后排序后的数字在form2中picture1上输出呢
我是小白,刚刚接触vb还望大家多指教
最好能有全套代码

解决方案 »

  1.   

    参考下面代码:(你要查找的目的是什么?)
    Private Sub Command1_Click()
        ''一个窗体 + 一个按钮 + 2个picturebox + 一个textbox + 一个listbox
        ''产生随机数据并输出排序后的结果
        Dim k As Integer
        k = CInt(Val(Text1.Text))
        If k > 0 And k < 31 Then
            Dim i As Integer, w1 As String, w2 As String, n As Integer
            ''List1.Sorted = True''在设计界面操作(用它来排序)
            List1.Clear
            For i = 1 To k
                n = Int(Rnd * 101)
                w1 = w1 & w2 & CStr(n)
                List1.AddItem Format$(n, "000")
                w2 = " "
                If i Mod 15 = 0 Then w1 = w1 & vbCrLf: w2 = ""
            Next
            Pic1.Print w1 ''在pic1中输出排序前得到的字符串
            ''在pic2中输出排序后的数据
            w1 = "": w2 = ""
            For i = 0 To List1.ListCount - 1
                w1 = w1 & w2 & CStr(CInt(List1.List(i)))
                w2 = " "
                If (i + 1) Mod 15 = 0 Then w1 = w1 & vbCrLf: w2 = ""
            Next
            Pic2.Print w1 ''在pic2中输出排序前得到的字符串
            '''如果非要用2个窗体,参照下面
            '''Form2.Show
            '''Form2.Pic1.Print w1
        Else
            MsgBox "请在文本框中输入1~30的数字"
        End If
    End Sub