1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
Dim lstKV As New List(Of KeyValuePair(Of Integer, TextBox))
Dim tmpInt As Integer = 0
If Not Integer.TryParse(txtA.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtA))
If Not Integer.TryParse(txtB.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtB))
If Not Integer.TryParse(txtC.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtC))
If Not Integer.TryParse(txtD.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtD))
If Not Integer.TryParse(txtE.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtE))
If Not Integer.TryParse(txtF.Text, tmpInt) Then
tmpInt = Integer.MaxValue
End If
lstKV.Add(New KeyValuePair(Of Integer, TextBox)(tmpInt, txtF))
lstKV.Sort(AddressOf KeyValuePairCompareByKey)
For i As Integer = 0 To lstKV.Count - 1
If i < 3 Then
lstKV(i).Value.BackColor = Color.Aqua
Else
lstKV(i).Value.BackColor = Color.White
End If
Next
End Sub
Private Function KeyValuePairCompareByKey(ByVal x As KeyValuePair(Of Integer, TextBox), ByVal y As KeyValuePair(Of Integer, TextBox)) As Integer
Return x.Key.CompareTo(y.Key)
End Function |
Partager