You are on page 1of 2

Public Class MainForm

Dim ClearFlag As Boolean '是否可以清除控件的标志:"True"表示可以清除


Dim n As Integer '待排序的记录个数
'声明一个类数组,表示在窗体中新绘的文本框数目,其数值等于 n,因不能预知控件数目,采用动态数组,
大小初始值为 1
Dim arrTextBox() As TextBox

Private Sub BtnEnter_Click(sender As Object, e As EventArgs) Handles


BtnEnter.Click
Dim i As Integer
Dim xPos, yPos As Integer '待绘制的文本框在窗体中的出现位置
Dim Width, Height As Single '待绘制的文本框的宽度和高度
n = CInt(NumCount.Text)
arrTextBox = New TextBox(n) {}
ReDim arrTextBox(n)
Width = Me.Width / 3
Height = Me.Height / (n + 2)
For i = 0 To n - 1
xPos = Me.Left
yPos = Me.Top + i * Height
arrTextBox(i) = New TextBox()
Me.Controls.AddRange(New Control() {arrTextBox(i)}) '在窗体上建立一个新的
控件对象
arrTextBox(i).Size = New Size(Width, Height) '设置控件的大小
arrTextBox(i).Location = New Point(xPos, yPos) '设置控件的出现位置
'arrTextBox(i).TabIndex = 4 '确定新增控件将占用的索引
Next
ClearFlag = True
End Sub
Private Sub BtnNew_Click(sender As Object, e As EventArgs) Handles BtnNew.Click
Dim i As Integer

If ClearFlag = True Then


For i = 0 To n - 1
'Me.Controls.RemoveAt(4) '移除新增的各控件
Me.Controls.Remove(arrTextBox(i))
'a = Me.Controls.IndexOf(NumCount)
'a = Me.Controls.GetChildIndex(Me.NumCount)

Next
ClearFlag = False
End If
End Sub
Private Sub BtnSort_Click(sender As Object, e As EventArgs) Handles
BtnSort.Click
Dim i, j, k As Integer
Dim table(n), temp As Single
If ClearFlag = False Then
Exit Sub
End If
'简单选择排序
For i = 0 To n - 1
If arrTextBox(i).Text = "" Then
Exit Sub
End If
table(i) = CSng(arrTextBox(i).Text)
Next
For i = 0 To n - 2
k = i
For j = i + 1 To n - 1
If table(j) < table(k) Then
k = j
End If
Next
If k <> i Then
temp = table(k)
table(k) = table(i)
table(i) = temp
End If
Next
For i = 0 To n - 1
arrTextBox(i).Text = table(i)
Next
End Sub
Private Sub BtnClear_Click(sender As Object, e As EventArgs) Handles
BtnClear.Click
Dim i As Integer
For i = 0 To n - 1
arrTextBox(i).Text = ""
Next
End Sub
Private Sub BtnExit_Click(sender As Object, e As EventArgs) Handles
BtnExit.Click
Application.Exit()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Dim abc As New Label
Me.Controls.AddRange(New Control() {abc})
abc.Size = New Size(100, 20)
abc.Location = New Point(100, 100)
abc.Text = "你终于来了!"
End Sub
End Class

You might also like