
Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
Salve, ho una domanda:
ho 4 checkBox (ma potrebbero diventare anche 20)
che se vidimate (chekkate non mi piace) ognuna svolge un compito. Non sono mutuamente eclusive.
Ho risolto in questo modo (nel TAG ho inserito numeri progressivi per ogni checkBox):
Codice sorgente - presumibilmente C# |
foreach (Control item in groupBoxOutput.Controls) { if(item is CheckBox fileCheck ) { if (fileCheck.Enabled) { switch (fileCheck.Tag) { case 1: a(); continue; case 2: b(); continue; //////// } } } }
|
e buono? ci sono metodi più eleganti?
|
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
Salve, ho una domanda:
ho 4 checkBox (ma potrebbero diventare anche 20)
che se vidimate (chekkate non mi piace) ognuna svolge un compito. Non sono mutuamente eclusive.
Ho risolto in questo modo (nel TAG ho inserito numeri progressivi per ogni checkBox):
Codice sorgente - presumibilmente C# |
foreach (Control item in groupBoxOutput.Controls) { if(item is CheckBox fileCheck ) { if (fileCheck.Enabled) { switch (fileCheck.Tag) { case 1: a(); continue; case 2: b(); continue; //////// } } } }
|
e buono? ci sono metodi più eleganti? |
Se vuoi puoi usare i RadioButton all'interno di un Panel, eseguono la mutua esclusione
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
io ho bisogno che NON ci sia la mutua sclusione.
chiedevo se ci fossero soluzioni più elegati e efficenti
|
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
io ho bisogno che NON ci sia la mutua sclusione.
chiedevo se ci fossero soluzioni più elegati e efficenti |
Non avevo capito, dipende da quello che vuoi fare
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
In sintesi, ho un programma che esegue un compito ed alla fine crea dei file.
tramite le checkbox scellgo il tipo di file. Cioè in che formato salvare il file.
Guarda l'allegato. In questo modo avrò 2 file in output (.txt e .tex).
Non vorrei fare una miriadi di
Codice sorgente - presumibilmente Plain Text |
if(checkBox.checked==true)
{
...
}
|
|
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Ho capito, un idea che mi à venuta adesso, potresti sfruttare il "Tag"
invece che mettere un numero ci metti direttamente l'estensione del File
Codice sorgente - presumibilmente Delphi |
foreach (Control item in groupBoxOutput.Controls) { if(item is CheckBox fileCheck) { if (fileCheck.Enabled) { // funzione salva file salva_File(miofile,filecheck.Tag); } } }
|
passi alla funzione il tuo "file" e l'estensione corrispondente
If ok Then GOTO Avanza else GOTO Inizia
|
|

Mikelius (Member)
Expert
    
Messaggi: 525
Iscritto: 14/04/2017
|
ci avevo pensato, ma ogni checkBox è legata ad una funzione differente, non ad un solo parametro
|
|

Ultimo (Member)
Guru
    
Messaggi: 931
Iscritto: 22/05/2010
|
Postato originariamente da Mikelius:
ci avevo pensato, ma ogni checkBox è legata ad una funzione differente, non ad un solo parametro |
Il tuo codice va bene allora, non mi vengono soluzioni più eleganti
certo se ci sono molti checkbox allora diventa noioso
If ok Then GOTO Avanza else GOTO Inizia
|
|

Thejuster (Admin)
Guru^2
    
Messaggi: 2339
Iscritto: 04/05/2008
|
Crearti un componente personale non va bene?
Crei un controllo basato sulle CheckBox.
E aggiungi altri campi pubblici come riferimento
Così oltre ad avere il campo TAG puoi inserire più elementi a riferimento nel controllo
ed avere una migliore gestione.
|
|