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

    Vari buttons e un unica SUB

    Ciao,
    nel mio programma c'è una ListView che contiene vari items.
    Vorrei cancellare gli items che non mi interessano premendo vari buttons, ognuno cancella qualcosa.
    Ad esempio ButtonRM, ButtonMI, ButtonNA, a seconda del button premuto:

    codice:
    Dim xxx as string = 'xxx deve essere la provincia del button premuto (Napoli, Milano, Roma, ecc)
    Dim listItem As ListViewItem        
    For Each listItem In ListView1.Items
                If listItem.contain(xxx) Then
                    ListView1.Items.Remove(listItem)
                    End If
            Next

    Cioè se premo ButtonNa mi cancella tutti gli item Napoli, ButtonRM, tutti gli item con Roma ecc

    C'è un modo di fare tutto con una unica SUB o devo fare tante SUB diverse???
    C'è modo di assegnare una variabile in base al button premuto???

    Grazie

  2. #2
    non conosco molto VB, ma se crei una sub con un parametro che corrisponde a ciò che devi rimuovere?
    poi associ un evento ad ogni bottone e richiami la sub passando il parametro.

    oppure crei un unico evento per tutti i bottoni, e controlli quale bottone è stato premuto.
    in base a quello, cancelli l'item.

  3. #3
    Quote Originariamente inviata da fermat Visualizza il messaggio

    oppure crei un unico evento per tutti i bottoni, e controlli quale bottone è stato premuto.
    in base a quello, cancelli l'item.
    è prorpio questo che vorrei fare, ma non so proprio come fare il controllo del button premuto.
    Poi tutto il resto lo so fare

  4. #4
    RISOLTO!

    codice:
    Private Sub AllButtonsClick (ByVal sender As Object, ByVal e As EventArgs) Handles ...
    If sender Is Button1 Then
    ...
    ElseIf sender Is Button2 Then
    ...
    ElseIf sender Is Button3 Then
    ...
    Else
    ...
    End If
    End Sub

  5. #5
    C'è un modo più semplice, puoi inserire nella proprietà TAG del button il nome della città e quando viene premuto elimini tutti gli item che hanno il testo uguale al tag del button usato.
    I database... la mia passione + o -

  6. #6
    Non ho ben capito cosa Handles la tua Sub,anche perché ci hai messo dei puntini.

    Basta fare una unica normalissima Sub CancellaItem, senza nessun Handles né Sender:

    codice:
     Private Sub CancellaItem (Provincia as String)
    
      For Each listItem as ListViewItem In ListView1.Items
          If listItem.Contains(Provincia) Then
              ListView1.Items.Remove(listItem)
          End If
      Next
    
    End Sub

    e quando premi un Button scrivere nella relativa Sub Button_Click:
    codice:
    CancellaItem(ProvinciaDelButton)

    Di più... io userei una serie di RadioButton, in modo da impostare la provincia (come variabile "Provincia" dichiarata a livello di Classe) alla loro selezione ed un UNICO button in cui scrivere direttamente il codice di cui sopra, in quanto con un unico button richiamare la sub non servirebbe più a risparmiare codice.
    Ultima modifica di eziogsv; 30-05-2015 a 02:19

  7. #7
    Quote Originariamente inviata da power.mobile Visualizza il messaggio
    C'è un modo più semplice, puoi inserire nella proprietà TAG del button il nome della città e quando viene premuto elimini tutti gli item che hanno il testo uguale al tag del button usato.
    Perfetto, fatto come hai detto. Tutto OK

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.