VB.Net-整理一些代码
我有一个表格,上面有很多线型,基本上我想做的是,根据整数数组中的内容,将某些线条变成蓝色,其他线条变成黑色。每一行称为line1、line2等。因此,如果数组中的一个值为3,则line3将为蓝色 我有以下代码可以更轻松地处理所有行:VB.Net-整理一些代码,vb.net,Vb.net,我有一个表格,上面有很多线型,基本上我想做的是,根据整数数组中的内容,将某些线条变成蓝色,其他线条变成黑色。每一行称为line1、line2等。因此,如果数组中的一个值为3,则line3将为蓝色 我有以下代码可以更轻松地处理所有行: MeterArray = New PowerPacks.LineShape() {line1, line2, line3, line4, line5} 然而,由于我将有大约50条独立的线,当我到达第50行时,这看起来会很混乱。所以我的问题是,有没有更整
MeterArray = New PowerPacks.LineShape() {line1, line2, line3, line4, line5}
然而,由于我将有大约50条独立的线,当我到达第50行时,这看起来会很混乱。所以我的问题是,有没有更整洁的方法来处理这些线型
提前谢谢 如果您只是想让声明看起来好看,可以使用下划线字符继续下一行:
MeterArray = New PowerPacks.LineShape() {line1, line2, line3, line4, line5, _
line6, line7, line8, line9, line10}
…你可以继续这样一直到50岁
这将需要10行代码,但我认为这比一行非常长的代码看起来要整洁一些。如果您只是想让声明看起来漂亮,可以使用下划线字符继续下一行:
MeterArray = New PowerPacks.LineShape() {line1, line2, line3, line4, line5, _
line6, line7, line8, line9, line10}
…你可以继续这样一直到50岁
这需要10行代码,但我认为这比一条很长的代码看起来要整洁一些。我想这50行是一种颜色的阴影吧?这将由黑变白。它也将更容易保持为一个循环,比如说你现在想要150行
Dim colours as new List(of PowerPacks.LineShape)
Dim colourStep As Integer = 255 \ NumberOfSubLevels
For nextStep As Integer = 1 To NumberOfSubLevels
colours.Add(New PowerPacks.LineShape(colourStep * nextStep)
Next
我想这50行是一种颜色的阴影吧?这将由黑变白。它也将更容易保持为一个循环,比如说你现在想要150行
Dim colours as new List(of PowerPacks.LineShape)
Dim colourStep As Integer = 255 \ NumberOfSubLevels
For nextStep As Integer = 1 To NumberOfSubLevels
colours.Add(New PowerPacks.LineShape(colourStep * nextStep)
Next
<>而不是在表单设计器中手动添加行,请考虑以编程方式添加
Const N As Integer = 50
Dim _lines(N - 1) As LineShape
Dim _numbers(N - 1) As Integer
Private Sub frmLineShapes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: Fill the _numbers array with values.
For i As Integer = 0 To N - 1
_lines(i) = New LineShape With { _
.X1 = 5 * i + 10, .Y1 = 20, _
.X2 = 5 * i + 10, .Y2 = 60, _
.BorderColor = DirectCast(IIf(_numbers(i) = 3, Color.Blue, Color.Black), Color) _
}
Next
Me.SuspendLayout()
Me.ShapeContainer1.Shapes.AddRange(_lines)
Me.ResumeLayout()
End Sub
现在,您已经将这些行放在一个数组中,以后可以轻松地访问和更改它们
注:
Visual Basic Powerpack的形状不会直接添加到表单中;而是将它们添加到形状容器中。必须在forms designer for VB中将至少一个形状添加到表单中,才能将形状容器自动添加到表单中。如果没有,您仍然可以通过编程方式添加它
Me.SuspendLayout()
Dim ShapeContainer1 = New ShapeContainer
Me.Controls.Add(ShapeContainer1)
ShapeContainer1.Shapes.AddRange(_lines)
Me.ResumeLayout()
更新:
如果手动添加这些行,仍然可以通过其名称访问这些行
For i As Integer = 0 To N - 1
Dim index As Integer = Me.ShapeContainer1.Shapes.IndexOfKey("LineShape" & (i + 1))
Dim line As LineShape = DirectCast(Me.ShapeContainer1.Shapes(index), LineShape)
If _numbers(i) = 3 Then
line.BorderColor = Color.Blue
Else
line.BorderColor = Color.Black
End If
Next
<>而不是在表单设计器中手动添加行,请考虑以编程方式添加
Const N As Integer = 50
Dim _lines(N - 1) As LineShape
Dim _numbers(N - 1) As Integer
Private Sub frmLineShapes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: Fill the _numbers array with values.
For i As Integer = 0 To N - 1
_lines(i) = New LineShape With { _
.X1 = 5 * i + 10, .Y1 = 20, _
.X2 = 5 * i + 10, .Y2 = 60, _
.BorderColor = DirectCast(IIf(_numbers(i) = 3, Color.Blue, Color.Black), Color) _
}
Next
Me.SuspendLayout()
Me.ShapeContainer1.Shapes.AddRange(_lines)
Me.ResumeLayout()
End Sub
现在,您已经将这些行放在一个数组中,以后可以轻松地访问和更改它们
注:
Visual Basic Powerpack的形状不会直接添加到表单中;而是将它们添加到形状容器中。必须在forms designer for VB中将至少一个形状添加到表单中,才能将形状容器自动添加到表单中。如果没有,您仍然可以通过编程方式添加它
Me.SuspendLayout()
Dim ShapeContainer1 = New ShapeContainer
Me.Controls.Add(ShapeContainer1)
ShapeContainer1.Shapes.AddRange(_lines)
Me.ResumeLayout()
更新:
如果手动添加这些行,仍然可以通过其名称访问这些行
For i As Integer = 0 To N - 1
Dim index As Integer = Me.ShapeContainer1.Shapes.IndexOfKey("LineShape" & (i + 1))
Dim line As LineShape = DirectCast(Me.ShapeContainer1.Shapes(index), LineShape)
If _numbers(i) = 3 Then
line.BorderColor = Color.Blue
Else
line.BorderColor = Color.Black
End If
Next
我添加了一个示例,展示了如何通过名称访问这些行。我添加了一个示例,展示了如何通过名称访问这些行。