Prev: Modify app.config file
Next: (New Object).Method
From: Rick on 24 Feb 2010 15:31 I have a form that needs to display values from an array on the form; how do I achieve the following? If item count in array is < 20 then print Val1 Val2 Val3 Val4 Val5 Val6 and so on If items in array is > 20 then print Val1 Val2 Val3 Val4 Val5 Val6 Val7 Val8 Val9 and so on The following code works fine and prints values in two columns butI need to modified it to print in three columns if nItemsCount > 20 for i=1 to nItemsCount If i Mod 2 Then nX = nX * 25 nY = nY - 15 End If myVal.Name = "myVal" & i myVal.Text = sLabel myVal.Location = New Point(nX, nY + 15) Controls.Add(myTextBoxLabel) Next
From: Family Tree Mike on 24 Feb 2010 17:16 On 2/24/2010 3:31 PM, Rick wrote: > I have a form that needs to display values from an array on the form; how do > I achieve the following? > > If item count in array is< 20 then print > > Val1 Val2 > Val3 Val4 > Val5 Val6 > and so on > > If items in array is> 20 then print > > Val1 Val2 Val3 > Val4 Val5 Val6 > Val7 Val8 Val9 > and so on > > The following code works fine and prints values in two columns butI need to > modified it to print in three columns if nItemsCount> 20 > > for i=1 to nItemsCount > > If i Mod 2 Then > nX = nX * 25 > nY = nY - 15 > End If > > myVal.Name = "myVal"& i > myVal.Text = sLabel > myVal.Location = New Point(nX, nY + 15) > Controls.Add(myTextBoxLabel) > Next I don't see your code as working the way you believe it is. That said, here is how I would do what you seem to want: Dim nItemsCount As Integer = 22 ' or some other value... Dim nx As Integer = 10 Dim ny As Integer = 10 Dim nc As Integer = 2 If (nItemsCount > 20) Then nc = 3 For i = 1 To nItemsCount Dim myVal As Label = New Label() myVal.Name = "myVal" & i myVal.Text = myVal.Name myVal.Location = New Point(nx, ny) nx = nx + myVal.Width + 10 If (i Mod nc = 0) Then nx = 10 ny = ny + 25 End If Controls.Add(myVal) Next -- Mike
From: Rick on 24 Feb 2010 19:36 Thanks "Family Tree Mike" wrote: > On 2/24/2010 3:31 PM, Rick wrote: > > I have a form that needs to display values from an array on the form; how do > > I achieve the following? > > > > If item count in array is< 20 then print > > > > Val1 Val2 > > Val3 Val4 > > Val5 Val6 > > and so on > > > > If items in array is> 20 then print > > > > Val1 Val2 Val3 > > Val4 Val5 Val6 > > Val7 Val8 Val9 > > and so on > > > > The following code works fine and prints values in two columns butI need to > > modified it to print in three columns if nItemsCount> 20 > > > > for i=1 to nItemsCount > > > > If i Mod 2 Then > > nX = nX * 25 > > nY = nY - 15 > > End If > > > > myVal.Name = "myVal"& i > > myVal.Text = sLabel > > myVal.Location = New Point(nX, nY + 15) > > Controls.Add(myTextBoxLabel) > > Next > > I don't see your code as working the way you believe it is. That said, > here is how I would do what you seem to want: > > Dim nItemsCount As Integer = 22 ' or some other value... > Dim nx As Integer = 10 > Dim ny As Integer = 10 > > Dim nc As Integer = 2 > If (nItemsCount > 20) Then nc = 3 > > For i = 1 To nItemsCount > Dim myVal As Label = New Label() > > myVal.Name = "myVal" & i > myVal.Text = myVal.Name > myVal.Location = New Point(nx, ny) > > nx = nx + myVal.Width + 10 > > If (i Mod nc = 0) Then > nx = 10 > ny = ny + 25 > End If > > Controls.Add(myVal) > Next > > > -- > Mike > . >
|
Pages: 1 Prev: Modify app.config file Next: (New Object).Method |