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

    [VB.NET] CheckedChanged & CheckedStateChanged

    In allegato c'è il form per essere più chiari (non cosiderate la CheckBox1 è li per far delle prove).

    Al caricamento del form aggiungo delle checkbox dentro il pannello nel seguente modo:

    codice:
             Try
                Using File As StreamReader = New StreamReader("Elenco_alunni.txt")
                    Alunno = File.ReadLine()
                    Do
                        Dim Check As New CheckBox
                        With Check
                            .AutoSize = True
                            .Text = Alunno
                            .Location = New Point(.Location.X, Altezza)
                            Altezza = Altezza + .Height + 2
                            .Visible = True
                            .Enabled = True
                            .Name = Alunno
                        End With
                        Pnl_alunni.Controls.Add(Check)
                        AddHandler Check.CheckedChanged, AddressOf Check_CheckedChanged
                        i = i + 1
                        Alunno = File.ReadLine()
                    Loop Until Alunno Is Nothing
                End Using
            Catch Err As Exception
                MsgBox(Err.ToString, 0)
            End Try
    Fin qui tutto ok.

    Adesso io voglio sapere quale checkbox l'utente "spunta" e quindi devo gestire uno dei due eventi in titolo, io ho utilizzato CheckedChanged:

    codice:
        Private Sub Check_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
            'MsgBox(sender.GetType.GetProperty(Name))
            'MsgBox(e.GetType.GetProperty(Text))
        End Sub

    PROBLEMA: come faccio ad ottenere il testo della checkbox che scatena l'evento?
    [Ho provato con quelle due righe di codice commentato ma entrambe ritornano un valore null]
    Grazie in aticipo, ciao!
    Immagini allegate Immagini allegate

  2. #2
    Io utilizzerei la checkedlistbox
    http://msdn.microsoft.com/en-us/libr...edlistbox.aspx
    Per rimanere nelle checkbox io leggerei tutto il file, da questo con split su fine linea (environment.newline) genererei un array di stringhe, dimensionerei un array di checkbox, molto più pratici da maneggiare che non tanti singoli controlli
    Per il tuo codice, potresti provare a convertire (ctype(sender,checkbox)) e poi su questo prendere il testo.
    Esiste anche la proprietà tag che ti potrebbe aiutare.

  3. #3
    Originariamente inviato da Cteniza
    Io utilizzerei la checkedlistbox
    http://msdn.microsoft.com/en-us/libr...edlistbox.aspx
    Per rimanere nelle checkbox io leggerei tutto il file, da questo con split su fine linea (environment.newline) genererei un array di stringhe, dimensionerei un array di checkbox, molto più pratici da maneggiare che non tanti singoli controlli
    Per il tuo codice, potresti provare a convertire (ctype(sender,checkbox)) e poi su questo prendere il testo.
    Esiste anche la proprietà tag che ti potrebbe aiutare.
    le checkedlistbox mi permettono una scelta sola, nel mio caso si possono fare anche scelte multiple.

    Potresti spiegarmi meglio la procedura "ctype(..)" ?

    Grazie.

  4. #4
    Originariamente inviato da ilverowert
    le checkedlistbox mi permettono una scelta sola, nel mio caso si possono fare anche scelte multiple.
    Figurati se non si possono fare scelte multiple sulla checkedlistbox, basta che leggi l'introduzione della classe per scoprirlo.

    Potresti spiegarmi meglio la procedura "ctype(..)" ?
    Grazie.
    ctype è il comando previsto per vb.net che effettua le conversioni tra tipi diversi, nel tuo caso un oggetto di tipo "oggetto" in uno di tipo checkbox

  5. #5
    Originariamente inviato da Cteniza
    Figurati se non si possono fare scelte multiple sulla checkedlistbox, basta che leggi l'introduzione della classe per scoprirlo.


    ctype è il comando previsto per vb.net che effettua le conversioni tra tipi diversi, nel tuo caso un oggetto di tipo "oggetto" in uno di tipo checkbox
    Scusami avevo frainteso un messaggio di errore del compilatore, infatti mi sembrava strano.
    E dire che ho perso tanto di quel tempo a escogitare una soluzione.

    Ti spiego cosa mi è successo:
    aggiungo il controllo checkedlistbox, controllo un pò i metodi ed uno si chiama "selectmode" le scelte di questa proprietà sono "one, multiple, etc..". schiaccio su "multiple" e mi da un errore. L'errore non si riferisce però al controllo bensì ai singoli oggetti dentro esso!



    Eheh, si vede che sono alle prime armi.. Sbagliando si impara!

    Grazie mille del tuo aiuto.

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.