Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    click su label create dinamicamente

    ciao a tutti, ho un problema riguardo l'ebvento click su delle label create dinamicamente.
    Mi spiego meglio.
    Il mio programma crea dinamicamente, cioè in un numero non fissato di label, attraverso un ciclo for.
    Vorrei però, che cliccando su una determinata label si avvii un'evento, mentre cliccando su un'altra se ne avvii un altro.
    Il codice ad esempio è...

    Public Class Form1
    Dim n as integer = .....
    Dim i As Integer
    Dim shift As Integer = 200
    Dim Lab(n) As Label
    Dim btnLabn) As Label

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles MyBase.Load
    Panel1.AutoScroll = True
    For i = 0 To n
    Dim l1 As New Label
    l1.SetBounds(i * shift, 0, 200, 150)
    l1.BackColor = Color.Red
    l1.BorderStyle = BorderStyle.FixedSingle
    l1.BringToFront()
    btnLab(i) = l1
    Panel1.Controls.Add(btnLab(i))
    Next
    End Sub

    .....

    La domanda è come faccio a gestire gli eventi a seconda di quale label clicco???
    Ho provato a scrivere una cosa del genere, ma mi da errore

    Private Sub btnLab_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)_ Handles btnLab(i).Click

    'Istruzione....

    End Sub
    End Class


    spero qualcuno potrà essermi di aiuto!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio va indicato anche nel titolo, come da Regolamento.

    Qui l'ho aggiunto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    dentro nel ciclo for devi inserire un'istruzione AddHandler...

    in questo modo

    codice:
    AddHandler controllo.evento, AddressOf Sub da richiamare passargli senza passargli argomenti
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

  4. #4
    ovviamente dentro la sub che richiami io metterei:

    codice:
    Select case sender.Name
    case "qualcosa0"
    'fai le istruzioni per qualcosa0
    case "qualcosa1"
    'fai le istruzioni per qualcosa1
    case "qualcosa2"
    'fai le istruzioni per qualcosa2
    End select
    Bombardare per la pace, è come trombare per la verginità.

    C'è qualcuno al mondo che tromba troppo secondo me...

    Andrea Medici

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.