Creare label da codice

di il
10 risposte

Creare label da codice

Ragazzi ho un problema.
vorrei creare una label da codice, dovrebbe essere questo il codice?
Dim prova As New Label
                prova.Text = "ciao"
                prova.Location() = New Point(30, 30)
                prova.Show()

10 Risposte

  • Re: Creare label da codice

    Parli di VB6 o di NET....?
    Perchè questa è la sezione del vecchio VB6 e la sintassi non è quella... che assoiglia a quella di NET
  • Re: Creare label da codice

    Allora ho sbagliato io
    Chiedo scusa xD
  • Re: Creare label da codice

    Grazie per aver spostato la sezione
    Speriamo che qui qualcuno mi può dare una mano
  • Re: Creare label da codice

    Ciao Laiton,
    devi fare in questo modo:
    
    Dim prova As New Label
    prova.Text = "ciao"
    prova.Location() = New Point(30, 30)
    Controls.Add(prova)
    
    In pratica devi inserire la label che crei all' interno dei controlli gestiti dal form.
  • Re: Creare label da codice

    Ok grazie. Visto che ci sono ho un'altra richiesta.

    Ho 3 tabpage. Qual'è l'evento in vb2010 che mi dice che ho cambiato tabpage?
    Non ho mai lavorato con queste cose xD
  • Re: Creare label da codice

    I TabPage sono inseriti dentro un TabControl quando cambi tab viene richiamato l' evento SelectedIndexChanged del TabControl.
  • Re: Creare label da codice

    Quindi toglimi un'ultima curiosità, se io voglio aggiungere una label ad una tabpage devo fare:
    TabPage1.Controls.Add(prova)
    Giusto?
  • Re: Creare label da codice

    Giusto!
  • Re: Creare label da codice

    Ho un'altra domanda.
    è possibile creare una variabile con nome variabile?
    tipo:
    Dim nuova & i As New Label
  • Re: Creare label da codice

    No non puoi. Se vuoi puoi tenerti una lista di label e accedere ad esse tramite un indice, ecco un esempio:
    
    Public Class Form1
        Dim myLabels As List(Of Label) = New List(Of Label)
    
        Private Sub AddLabel(text As String, left As Integer, top As Integer)
            Dim label As New Label
            label.Text = text
            label.Location() = New Point(left, top)
            Controls.Add(label)
            myLabels.Add(label)
        End Sub
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            AddLabel("tizio", 10, 10)
            AddLabel("caio", 10, 50)
            AddLabel("sempronio", 10, 100)
    
            Dim i As Integer = 1
            myLabels(i).Text = "cucu"
        End Sub
    
     End Class
    
    Questo esempio cambia il testo alla seconda label (che ha indice 1 dato che gli array partono da 0).
Devi accedere o registrarti per scrivere nel forum
10 risposte