Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da ciri_sn_solo_io
    ho creato dinamicamente (con un codice simile a quello precedente) dei checkBox, ma ora come posso utilizzarli?
    Inseriscili in una lista (List<CheckBox>, ArrayList, ...) in fase di creazione, e scandisci successivamente tale lista per ottenere i riferimenti ai controlli creati e agire su proprietà o invocare metodi.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  2. #12
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    oppure non so, se puoi, non vorrei essere ripetitivo con la faccenda dei panel ma aggiungi le checkbox (e solo le checkbox) a un dato panel e poi iteri sulla sua lista di controlli...
    ad esempio, se il panel si chiama pnlCK,.....
    (codice VB)


    dim cont as int16
    for cont = 0 to pnlCK.controls.count - 1
    ctype(pnlCK.controls(cont), CheckBox).'la proprietà che ti serve... e la assegni o la leggi
    next

  3. #13
    Ma perchè sempre queste soluzioni? L'ho detto e lo ripeto, la teoria della stringhe va sostenuta!!
    Me.Controls("nome") restituisce un controllo di dato nome:
    codice:
    Dim Chb As CheckBox
    For I As Int16 = 0 To Numero
      Chb = Me.Controls("cb_" & I)
      If Chb.Checked Then
        '...
      End If
    Next
    E in fase di creazione aggiungi gli handler con AddHandler.

  4. #14
    Utente di HTML.it
    Registrato dal
    Jul 2007
    Messaggi
    134
    vabbè un'altra valida soluzione anche questa...
    sicuramente più breve da scrivere.
    magari io mi sn orientato sull'altra perchè in fase di aggiunta dei controlli non setto completamente il nome... immagino venga aggiunto in automatico col nome del controllo e un numero progressivo...

    Beh riguardo al discorso sulle stringhe... ci sn diverse scuole di pensiero... io propendo più al suo favore cmq :-)

  5. #15
    ciao "ciri" ti posto di seguito un pezzo di codice sicuramente funzionante che crea un numero I di label posizionandole orizzontalmente

    For column = 1 To I
    Dim lbl As New Label
    'il top left della label è (50,50) e le dimensioni sono 30 x 30
    lbl.SetBounds(50 + column * 30, 50, 30, 30)
    lbl.BorderStyle = BorderStyle.FixedSingle
    lbl.BackColor = Color.LightGray
    lbl.Text = column
    lbl.TextAlign = ContentAlignment.MiddleCenter
    Panel1.Controls.Add(lbl)
    Next

    Dove "Panel1" lo puoi mettere sul form manualmente o creandolo con

    Dim Panel1 as new Panel
    Panel1.SetBounds(xo,yo,w,h)

    etc...

    spero di esserti stato di aiuto

  6. #16
    spero di esserti stato di aiuto
    Certamente

    Mi siete stati tutti di grande aiuto, risolvendomi tutti i miei dubbi.

    Vi ringrazio

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.