Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186

    [VB.NET] Ripetere stessa routine per tante textbox

    Buongiorno,
    spiego meglio il problema del titolo.

    Ho circa 70 TextBox non modificabili nelle quali c'è un valore.
    Al click di ognuna, devo aprire una pagina con dei dati relativi al valore all'interno della textbox.

    Non ho problemi a fare questo, però devo ripetere praticamente la stessa Private Sub TextBox ecc ecc per 70 volte.

    C'è per caso un modo per creare solo una Sub e legarla all'evento di ogni textbox.MouseClick?

    In teoria se dopo l'Handles metto tutte le Textbox dovrebbe funzionare, però non saprei come passare il valore corretto.

    Qualcuno ha qualche indizio? Forse sarà anche una banalità

    Grazie

  2. #2
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Come non detto!
    Proprio in questo momento mi è venuta l'illuminazione!
    Chiedo scusa se ho aperto il thread per nulla!

    Scrivo comunque la soluzione, sperando che possa servire a qualcuno!

    Private Sub TextBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles TextBox1.MouseClick, TextBox2.MouseClick
    openDetails(CInt(sender.text))
    End Sub

    con sender.Text abbiamo il contenuto della TextBox e come dicevo nel primo messaggio aggiungendo TextBox.MouseClick di tutte le altre dopo l'Handles catturiamo l'evento!

    Se invece c'è un metodo migliore sono pronto ad idee

  3. #3
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    ma con 70 TB non ti converrebbe usare un array di TB o meglio una DGV ?

  4. #4
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Una DGV no perchè sono disposti sopra un'immagine in determinate posizioni
    L'array di TB non so come farlo con VB.NET Avevo letto che non si poteva dopo il VB6, sbaglio?
    O forse non ho ben chiaro cosa intendi

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    Leggi qui

  6. #6
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Ok, ho letto e ho capito che si possono fare ahaha!

    Però, come potrebbe aiutarmi nel problema? Chiedo perchè non ho colto

    Diciamo che potrebbe aiutarmi quando al Load e nel Timer aggiorno il contenuto di tutte le TextBox, che ora faccio con


    codice:
    For Each box As TextBox In pnlCarosello.Controls.OfType(Of TextBox).OrderBy(Function(t) t.TabIndex)
               Riempi(box)
    Next

    però mi diventerebbe abbastanza incasinato doverle mettere tutte nella posizione corretta sull'immagine

  7. #7
    Quote Originariamente inviata da SigAlexey Visualizza il messaggio
    però mi diventerebbe abbastanza incasinato doverle mettere tutte nella posizione corretta sull'immagine
    puoi per piacere riformulare quest'ultima frase? non riesco a capirla...

  8. #8
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Certo!

    Praticamente ho un form con un panel che ha come sfondo un'immagine.
    Quest'immagine ha 70 caselle distribuite, sopra le quali devo mettere queste TextBox.

    Creando le TB dalla Progettazione riesco senza grossi problemi a posizionarle dove voglio io.
    Se invece dovessi creare le TB da codice, per utilizzare l'array di TB, in questo caso dovrei posizionare tutte le TB via codice e il lavoro mi sarebbe ben più lungo

  9. #9
    tu posizionale da progettazione, ma fa' che sia un array, così gestirai texbox(i)

  10. #10
    Utente di HTML.it L'avatar di SigAlexey
    Registrato dal
    May 2014
    residenza
    Treviso
    Messaggi
    186
    Quote Originariamente inviata da optime Visualizza il messaggio
    tu posizionale da progettazione, ma fa' che sia un array, così gestirai texbox(i)
    Perdonami, ma non ho capito come
    Forse ho letto male, ma nel link di cassano tutte le soluzioni creavano da codice le TB

    Ho trovato questo esempio ma non so se sia quello che intendi tu

    codice:
    Dim C_lbl_ID_pos As New Collection
    
    Private Sub Home_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            C_lbl_ID_pos.Add(lblID_P1)
            C_lbl_ID_pos.Add(lblID_P2)
            C_lbl_ID_pos.Add(lblID_P3)
            C_lbl_ID_pos.Add(lblID_P4)
            C_lbl_ID_pos.Add(lblID_P5)
    End Sub

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