Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Creazione di bottone da codice e evento click associato...

    Salve a tutti,
    tramite le seguenti istruzioni faccio inserire dei pulsanti quando l'utente sceglie di fare una certa operazione:

    codice:
    Dim INTButton_IM() As System.Windows.Forms.Button
    
    ReDim Preserve INTButton_IM(Cont)
    Me.INTButton_IM(Cont) = New System.Windows.Forms.Button
    Me.Panel1.Controls.Add(Me.INTButton_IM(Cont))
    Creato il pulsante vorrei associare a questo un evento da attivarsi col tasto click.... come si può fare se il pulsante l'ho creato da codice?
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    add handler nomecontrollo.nomeevento adrees of nome routine ,scusa se ho sbagliato un po la sintassi.

  3. #3
    Si è proprio come dici tu. La sintassi esatta è:

    codice:
    AddHandler INTButton_IM.Click, AddressOf EventoClick
    L'unico dubbio che ho a questo punto è nel come dichiarare l'oggetto button. La prassi vuole che si debba dichiarare con la parola chiave "Friend WithEvents", cioè:

    codice:
    Friend WithEvents INTButton_IM As System.Windows.Forms.Button
    Però così facendo non posso definire l'oggetto button come un VETTORE (cosa che si puà fare usando "Dim")... però anche se non dichiaro con "Friend WithEvents" ma con "Dim" penso funzioni lo stesso (sto provando e pare che funge)!

    Mica sai qualcosa a questo proposito?
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  4. #4
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    allora o la dichiari withevents o lo fai con addhandler ,i due a vicenda si escludono.

  5. #5
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    withevents dovrebbe inserire automaticamente gli eventi nel codice
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  6. #6
    Facendo con AddHandler funziona:

    codice:
    AddHandler INTButton_IM(IM_CONT + 1).Click, AddressOf EventoClick
    Il problema adesso sta in "EventoClick", che non è altro che unaa sub da definire... solo che bisogn ausare l'istruzione "Delegate" per far funzionare la cosa e non è banale.

    Ho scaricato un tutorial che parla dell'argomento, dopo che ho finito di leggerlo spero di saperne qualcosa in più!!

    Grazie e ciao.
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  7. #7
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    :master: per quale motivo vuoi delegare???
    Che sappia io, ed a me funzia, basta fare:
    codice:
    AddHandler INTButton_IM(IM_CONT + 1).Click, AddressOf EventoClick
    
    Private Sub EventoClick(ByVal sender As Object, ByVal e As EventArgs)
       'se vuoi fai il casting dell'ogetto...
       Dim ctrl As Control = DirectCast(sender, Control)
       'fai le tue operazioni...
       ....
    End Sub
    Jupy

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

    Moderazione

    Originariamente inviato da Igor Baldacci
    Salve a tutti
    Ciao, ricordati di specificare il linguaggio di programmazione nel titolo della discussione, come da Regolamento.

    Suppongo si tratti di VB.NET. Correggo io.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  9. #9
    - Per alka:
    PERDONO!! Questa volta mi è sfuggito, hai ragione scusa davvero. Starò più attento promesso.

    - Per Jupy64:
    Come mi indichi tu funziona anche a me. Il problema è che alla sub "EventoClick" devo passare anche una mia variabile e quindi scrivere una cosa del tipo:

    codice:
    Private Sub EventoClick(ByVal MiaVar as Integer, ByVal sender As Object, ByVal e As EventArgs)
    Così facendo però mi viene restituito un errore perchè non viene rispettata la "firma" della procedura... ecco perchè mi sembra di aver capito che l'unica sia usare il delegate.

    Naturalmente è possibile che sbagli, è un argomento nuovo per me perchè non mi era mai capitato, però vista così mi sembra l'unico modo per poterlo fare.
    Il mio ultimo libro:
    Giorni di Follia. Presenze inquietanti a Pescara.
    www.giornidifollia.it

  10. #10
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    :master: ma all'evento click... che variabile vuoi passare???
    ora non so cosa vuoi fare e di che valore hai bisogno, ma eventualmente potresti gestire il tutto all'interno dell'evento in base all'oggetto sul quale hai fatto click.
    Ad esempio:
    codice:
    Private Sub EventoClick(ByVal sender As Object, ByVal e As EventArgs)
       Dim ctrl As Control = DirectCast(sender, Control)
       If ctrl.Name="Scrivi" Then
          'Leggi il volore che ti serve da una variabile pubblica o non so..dipende da quello che devi fare
       End If
    End Sub
    Jupy

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.