我试图理解这个链接然而无法让它工作。 http://www.neolisk.com/techblog/vbnet-read-write-appconfig。 以下是我相对于问题的代码段。
我正在编写一个WPF应用程序,它必须在程序的生命周期中保留彩色方块。正方形表示通过(p)绿色,失败(f)红色,未完成(y)未完成。我有一个20 x20平方的网格,由于操作员在某个特定时间的位置而改变颜色。这些方块必须在整个生产过程中保持其颜色。我正在模拟操作员0790以允许彩色方块变成红色。该数组表示由于某个时间段而检查方块的颜色状态的次数。即使ChangeColor方法超出范围,我也需要存储这些颜色状态。当ChangColor方法超出范围时,我会丢失与数组元素相关的颜色。在一些特殊的地方保持与元素相关的这些颜色,允许我随着时间的推移继续保留彩色方块,因为其他方法由于其他过程而被调用。我认为appconfig可以保存与每个数组中的数组元素相关的颜色变化。然后我可以用appconfig调用它们并将它们放在正确的方块中。这可以通过appconfig完成,还是有更好的方法。我可以保存到INI文件,但这不是最好的方式,我相信有更好的方法。下面代码中的0790运算符导致数组元素1与红色相关联。下次调用0790时,它将查看元素2,并为其分配颜色。
Public Sub ChangColor()
Dim test As String = "F"
Dim var As Integer = "0"
Dim MainWindow1 As New MainWindow1
Opeator = "0970"
Dim bAns As Boolean = False
If Opeator = "0970" Then ''0-19
Dim numbers As Integer() = {1, 2, 3, 4, 5, 66, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19}
If test = "F" Then
Do Until var = 1
flagR = numbers(ctr)
Me.Resources("DynamicBG" + flagR) = New SolidColorBrush(Colors.Red)
ctr = ctr + 1
var = 1
Loop
ElseIf test = "P" Then
Me.Resources("DynamicBG" + flagG) = New SolidColorBrush(Colors.Green)
ElseIf test = "x" Then
Me.Resources("DynamicBG" + flagY) = New SolidColorBrush(Colors.Yellow)
End If
End If
If Opeator = "0985" Then
Dim intData() As Integer = {20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39}
If test = "F" Then '20-39
Me.Resources("DynamicBG" + flagR) = New SolidColorBrush(Colors.Red)
ElseIf test = "P" Then
Me.Resources("DynamicBG" + flagG) = New SolidColorBrush(Colors.Green)
ElseIf test = "x" Then
Me.Resources("DynamicBG" + flagY) = New SolidColorBrush(Colors.Yellow)
End If
End If
If Opeator = "1318" Then
Dim intData() As Integer = {40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59}
If test = "F" Then '40-59
Me.Resources("DynamicBG" + flagR) = New SolidColorBrush(Colors.Red)
ElseIf test = "P" Then
Me.Resources("DynamicBG" + flagG) = New SolidColorBrush(Colors.Green)
ElseIf test = "x" Then
Me.Resources("DynamicBG" + flagY) = New SolidColorBrush(Colors.Yellow)
End If
End If
If Opeator = "23187" Then
If test = "F" Then '60-79
Me.Resources("DynamicBG" + flagR) = New SolidColorBrush(Colors.Red)
ElseIf test = "P" Then
Me.Resources("DynamicBG" + flagG) = New SolidColorBrush(Colors.Green)
ElseIf test = "x" Then
Me.Resources("DynamicBG" + flagY) = New SolidColorBrush(Colors.Yellow)
End If
End If
End Sub