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

    matrici di label

    Ciao, ho scritto il codice qui sotto, ma non riesco a completarlo in modo che cliccando una label qualsiasi della matrice si verifichi del codice solo per quella label... Mi sono arenato... perchè il form è vuoto e non riesco ad assegnare l'evento click (quando trascini una Label sul Form la casella Proprietà si apre... Qui invece no)... Un aiutino vostro è necessario e decisivo... Che codice devo scrivere??
    Grazie

    Public Class Form1
    Public Labels(11) As Label

    Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

    For I As Byte = 0 To 10
    Labels(I) = New Label()
    Labels(I).Location = New Point(12, 20 + I * 18) '12=left; 20 = top; 18 = altezza label
    Labels(I).Size = New Size(50, 18)
    Labels(I).AutoSize = False
    Labels(I).TextAlign = ContentAlignment.MiddleCenter
    Labels(I).BorderStyle = BorderStyle.FixedSingle
    Me.Controls.Add(Labels(I))
    Next
    End Sub

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

    Moderazione

    Occorre indicare il linguaggio nel titolo, come indicato nel Regolamento di quest'area del forum.

    Ho provveduto io a correggere qui.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Devi associare un evento (in questo caso il Click) ad un gestore di eventi che potresti chiamare Labels_Click.
    Può essere utile se durante la creazione dai anche un nome ad ogni Label :

    codice:
    Labels(I).Name = "MyLabel" & I.ToString
    Per associare l'evento ad un gestore di eventi devi prima creare la routine del gestore. Esempio:

    codice:
        Private Sub Labels_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            MessageBox.Show(CType(sender, Label).Name)
        End Sub
    Così, durante la creazione, potrai associarvi ogni evento Click del Label, così:

    codice:
    AddHandler Labels(I).Click, AddressOf Labels_Click


    il codice completa diventa quindi:
    codice:
        Private Sub cmdCaricaLabel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCaricaLabel.Click
            For I As Byte = 0 To 10
                Labels(I) = New Label()
                Labels(I).Name = "MyLabel" & I.ToString
                Labels(I).Location = New Point(12, 20 + I * 18) '12=left; 20 = top; 18 = altezza label
                Labels(I).Size = New Size(50, 18)
                Labels(I).AutoSize = False
                Labels(I).TextAlign = ContentAlignment.MiddleCenter
                Labels(I).BorderStyle = BorderStyle.FixedSingle
                Me.Controls.Add(Labels(I))
                AddHandler Labels(I).Click, AddressOf Labels_Click
    
            Next
    
        End Sub
    
        Private Sub Labels_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
            MessageBox.Show(CType(sender, Label).Name)
        End Sub

    :bye:

  4. #4
    Funziona!!!!
    Grazzzzieee!!!!

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da sergiobarbi
    Funziona!!!!
    Grazzzzieee!!!!
    Prego

  6. #6
    Ciao Gibra, non sai per caso anche come assegnare (in fase di Form Load) il Labels(I).Font (per esempio Name, Size, Bold...)
    Ho fatto diversi tentativi ma il risultato è sempre "La proprietà..... è ReadOnly"

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da sergiobarbi
    Ciao Gibra, non sai per caso anche come assegnare (in fase di Form Load) il Labels(I).Font (per esempio Name, Size, Bold...)
    Ho fatto diversi tentativi ma il risultato è sempre "La proprietà..... è ReadOnly"
    codice:
    Labels(I).Font = New Font("Tahoma", 7, FontStyle.Bold)
    N.B. Guarda che per caso non si sa mai niente...
    Si sa perchè si studia, e la guida è lì apposta per essere usata.
    Te lo dico perchè per problemi così semplici fai prima a guardare sulla guida che chiedere aiuto su un forum, considerando anche che nella guida trovi le spiegazioni adeguate.

    Basta mettere il cursore sulla parola desiderata e premere F1.
    Non è così difficile.


  8. #8
    Hai ragione... in ogni caso grazie per aver comunque risposto. Ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.