Переименовать метку программно в vb.net

Я использую визуальную студию 2008, используя VB.NET.

У меня есть несколько ярлыков, которые я хочу переименовать программно.

Текущие имена для меток имеют вид метка100, метка101, метка102 и т. д.

Это звучит так просто, но это меня поразило, возможно ли это?


person simon    schedule 30.09.2009    source источник
comment
Во что вы пытаетесь переименовать ярлыки?   -  person Tim S. Van Haren    schedule 30.09.2009
comment
Ах, извините, я должен был сказать. Имена будут иметь форму player100 player101 player102 и т. д.   -  person simon    schedule 30.09.2009
comment
Я бы предложил заменить регулярное выражение, но тогда у вас будет две проблемы!   -  person Greg D    schedule 30.09.2009


Ответы (2)


Вы можете использовать свойство label.Name, чтобы изменить имя любой метки.

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

Пример из справки MSDN:

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
    ' Connect the ControlRemoved and ControlAdded event handlers to the event-handler methods.
    ' ControlRemoved and ControlAdded are not available at design time.
    AddHandler Me.ControlRemoved, AddressOf Me.Control_Removed
    AddHandler Me.ControlAdded, AddressOf Me.Control_Added
End Sub 'Form1_Load


Private Sub Control_Added(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs)
    MessageBox.Show(("The control named " + e.Control.Name + " has been added to the form."))
End Sub


Private Sub Control_Removed(ByVal sender As Object, ByVal e As System.Windows.Forms.ControlEventArgs)
    MessageBox.Show(("The control named " + e.Control.Name + " has been removed from the form."))
End Sub


' Click event handler for a Button control. Adds a TextBox to the form.
Private Sub addControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button1.Click
    ' Create a new TextBox control and add it to the form.
    Dim textBox1 As New TextBox()
    textBox1.Size = New Size(100, 10)
    textBox1.Location = New Point(10, 10)
    ' Name the control in order to remove it later. 
    ' The name must be specified if a control is added at run time.
    textBox1.Name = "textBox1"

    ' Add the control to the form's control collection.
    Me.Controls.Add(textBox1)
End Sub


' Click event handler for a Button control.
' Removes the previously added TextBox from the form.
Private Sub removeControl_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button2.Click
    ' Loop through all controls in the form's control collection.
    Dim tempCtrl As Control
    For Each tempCtrl In Me.Controls
        ' Determine whether the control is textBox1,
        ' and if it is, remove it.
        If tempCtrl.Name = "textBox1" Then
            Me.Controls.Remove(tempCtrl)
        End If
    Next tempCtrl
End Sub
person Community    schedule 30.09.2009
comment
Я не знаком со свойством label.Name. Интересно, не будете ли вы достаточно любезны, чтобы привести пример того, как я буду его использовать. Спасибо - person simon; 30.09.2009
comment
Да, это точно, мне просто нужен немного кода, если это возможно, который я могу запустить один раз, чтобы изменить имена, а затем удалить его из приложения. - person simon; 30.09.2009
comment
@Matthew & Simon: Да, если вы хотите изменить фактическое объявление переменной, лучше всего найти/заменить. Извините, если я внес путаницу в смесь. - person ; 30.09.2009

Лучше всего подойдет диалоговое окно «Найти и заменить».

person Jason Berkan    schedule 30.09.2009