Creazione pulsanti da codice con relativi eventi

di joker7421 il
17 risposte
Buonasera a tutti, anzi buonanotte

Giusto per imparare un po' sto provando a creare una semplice calcolatrice in VB 2019, e per non farla troppo facile ho deciso di creare tutti i controlli via codice ma mi sono bloccato sugli eventi dei pulsanti.
I pulsanti li ho creati ed allineati ma ora non so intercettare l'evento click
In più, c'è qualche proprietà che mi permette di negare il FOCUS ai pulsanti, tipo TAKEFOCUSONCLICK del VBA in Excel?

Grazie mille a tutti

17 Risposte

  • Francesco... da dove studi il linguaggio? Queste cose le impari facilmente da un libro o dalla documentazione online... che ricerche hai fatto?
  • Fai una ricerca in inglese del tipo "vb.net create buttons array"
  • Vi ringrazio per i consigli ... alla fine sono riuscito a trovare qualche esempio che faceva al mio caso.
    L'unica cosa che non ho trovato ancora, sono esempi riguardanti il FOCUS ai pulsanti, tipo TAKEFOCUSONCLICK del VBA in Excel.

    Grazie ancora e a presto
  • Se vuoi disabilitare i pulsanti puoi usare la proprietà Enabled = On/Off
  • Esiste il .metodo Focus()
  • Grazie mille
    Ho provato con la proprietà ENABLED ma non sortisce l'effetto da me desiderato.
    Per quanto riguarda il metodo Focus(), non ho trovato nessun riferimento in giro ... io sto usando vb.net 2019
  • Quale sarebbe l'effetto desiderato ? non lo hai mai detto con parole tue
  • Si, scusa Patel, effettivamente l'ho omesso. Praticamente, sto programmando una semplice calcolatrice, stile quella di Windows 10, e quando seleziono i tasti si notava che erano stati usati.
    Ho risolto cambiando il colore del bordo.
    La gestione del FOCUS, però, non sono riuscito ancora a capirla .... sto sfogliando decine di pagine di forum e di documentazione ma non ne vengo a capo.

    Grazie ancora
  • Ma non è chiaro a cosa ti possa servire il focus su un button, solo se non usi il mouse e ti muovi con tab
  • Ormai è diventata una questione di curiosità. Confrontando il VB. ner con il vecchio Visual Basic e anche il VBA, mi chiedo che fine abbiano fatto la gestione del Focus.
    Grazie e a presto
  • Hai letto la mia risposta?
  • A me su button il metodo focus non funziona, ma select sì
  • @patel ... parli in generale o con il codice che stai scrivendo?

    Semplicemente, se hai due button sul form
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Button2.Focus()
        End Sub
    
    questo funziona.

    Probabilmente, in altri casi, potrebbe non andare e la Select potrebbe essere meglio.

    In ogni caso, i metodi per spostare il focus ci sono, se l'op li cercasse ...

    Se non si vuole che il controllo abbia il focus si può impostare la sua proprietà

    TabStop = False

    e anche
    
        Private Sub Button2_Enter(sender As Object, e As EventArgs) Handles Button2.Enter
            SelectNextControl(ActiveControl, True, True, True, True)
        End Sub
    
    ma sarebbe comunque cliccabile. Si può anche disabilitare ma si dovrebbe capire cosa si vuole fare.
  • oregon ha scritto:


    @patel ... parli in generale o con il codice che stai scrivendo?
    nell'evento form_load non mi funziona il focus, invece funziona select
    In ogni caso, i metodi per spostare il focus ci sono, se l'op li cercasse ...
    anche questa è un'arte
Devi accedere o registrarti per scrivere nel forum
17 risposte