Как изменить имя переменной с помощью цикла for

#vb.net

#vb.net

Вопрос:

Мне нужна помощь в том, как изменить имя переменной с помощью цикла for.

Затемните «DGV2Max» amp; j, я хочу, чтобы это было так.

это делается для минимизации моей строки кодов.

    For j As Integer = 1 To 29 Step 1
       Dim DGV2Max1 As New DataGridViewTextBoxColumn
       DGV2Max1.DataPropertyName = "Max1"
       DGV2Max1.HeaderText = "Max1"
       DGV2Max1.Name = "Max1"
       DataGridView2.Columns.Add(DGV2Max1)
   Next
 

Ответ №1:

Если вы просто используете переменную для ее добавления DataGridView2 , то не беспокойтесь об изменении имени переменной. Используйте свою переменную цикла и добавьте ее в свои свойства:

 For j As Integer = 1 To 29 Step 1
   Dim DGV2MaxCol As New DataGridViewTextBoxColumn
   DGV2MaxCol.DataPropertyName = "Max" amp; j
   DGV2MaxCol.HeaderText = "Max" amp; j
   DGV2MaxCol.Name = "Max" amp; j
   DataGridView2.Columns.Add(DGV2MaxCol)
Next
 

Область действия этой переменной предназначена только для текущей итерации цикла, поэтому вы можете повторно использовать ее на каждой итерации.

Комментарии:

1. Большое вам спасибо, я думал, что возникнет конфликт, если не изменить имя переменной для new textboxcolumn .

Ответ №2:

Извините, я забыл добавить значения к элементам массива.

Я получил ваш вопрос, теперь все, что вам нужно, это просто использовать такой массив:

 Private Sub BtnAddNewColumns_Click(sender As Object, e As EventArgs) Handles BtnAddNewColumns.Click

    Dim MyArr(29) As String

    For i As Integer = 1 To 29 Step 1
        MyArr(i) = "DGVCol" amp; i
    Next

    For i As Integer = 1 To 29 Step 1
        Dim DGV2Max1 As New DataGridViewTextBoxColumn
        DGV2Max1.DataPropertyName = MyArr(i)
        DGV2Max1.HeaderText = MyArr(i)
        DGV2Max1.Name = MyArr(i)
        DataGridView2.Columns.Add(DGV2Max1)
    Next

End Sub
 

Я надеюсь, что это хорошо сработает для тебя, братан,
^_ ^