#visual-studio #visual-studio-2015
#visual-studio #visual-studio-2015
Вопрос:
Я создаю программу, которая печатает элемент массива по одному (сверху слева направо) с использованием управления таймером, однако она не печатает элементы по одному, она печатает их все одновременно. Мне нужна помощь, ниже приведен пример скриншота и мой код на данный момент.
Public Class SymbolDrawFRM
Private symbol(10, 10) As String
Sub Drawing()
Dim s As String = ""
For i = 1 To rowNUD.Value
For j = 1 To columnNUD.Value
s = s amp; symbol(i, j) amp; # amp; " "
Next
s = s amp; vbCrLf
Next
outputTBX.Text = s
End Sub
Private Sub startStopBTN_Click(sender As Object, e As EventArgs) Handles startStopBTN.Click
Timer.Start()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles Timer.Tick
Drawing()
End Sub
End Class
Ответ №1:
Игнорирование массива и использование только элементов управления NumericUpDown:
Private Sub startStop_Click(sender As Object, e As EventArgs) Handles startStop.Click
Timer1.Interval = 500
Timer1.Enabled = Not Timer1.Enabled
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Static x As Integer
Static y As Integer
If x = 0 And y = 0 Then
outputTBX.Clear()
End If
outputTBX.AppendText("# ")
x = x 1
If x = columnNUD.Value Then
x = 0
outputTBX.AppendText(vbCrLf)
y = y 1
If y = rowNUD.Value Then
x = 0
y = 0
Timer1.Stop()
MessageBox.Show("Done!")
End If
End If
End Sub
Комментарии:
1. Привет @Idle_Mind, куда мне поместить rowNUD и columnNUD?
2. Я их не включал. Вы хотите создать сетку на основе этих числовых обновлений… или на основе самого массива? Ваш исходный код неправильно использует массив.
3. Количество строк и столбцов основано на числовых обновлениях
4. Хорошо. Должны ли мы полностью игнорировать массив?
Private symbol(10, 10) As String
Как это вписывается в картину?5. Я думаю, мы можем игнорировать массив, пока строки и столбцы основаны на элементах управления NUD