Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Scelta tramite checkBox
Forum - C# / VB.NET - Scelta tramite checkBox

Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 11:49
Venerdì, 25/05/2018
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#

  1. foreach (Control item in groupBoxOutput.Controls)
  2.             {
  3.                 if(item is CheckBox fileCheck)
  4.                 {
  5.                     if (fileCheck.Enabled)
  6.                     {
  7.                         switch (fileCheck.Tag)
  8.                         {
  9.                             case 1:
  10.                                 a();
  11.                                 continue;
  12.                             case 2:
  13.                                 b();
  14.                                 continue;
  15.                           ////////
  16.                         }
  17.                     }
  18.                 }
  19.             }



e buono? ci sono metodi più eleganti?

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 12:10
Venerdì, 25/05/2018
Testo quotato

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#

  1. foreach (Control item in groupBoxOutput.Controls)
  2.             {
  3.                 if(item is CheckBox fileCheck)
  4.                 {
  5.                     if (fileCheck.Enabled)
  6.                     {
  7.                         switch (fileCheck.Tag)
  8.                         {
  9.                             case 1:
  10.                                 a();
  11.                                 continue;
  12.                             case 2:
  13.                                 b();
  14.                                 continue;
  15.                           ////////
  16.                         }
  17.                     }
  18.                 }
  19.             }



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

PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 13:18
Venerdì, 25/05/2018
io ho bisogno che NON ci sia la mutua sclusione.

chiedevo se ci fossero soluzioni più elegati e efficenti

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 13:30
Venerdì, 25/05/2018
Testo quotato

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

PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 14:20
Venerdì, 25/05/2018
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

  1. if(checkBox.checked==true)
  2. {
  3. ...
  4. }




Mikelius ha allegato un file: Screenshot_1.png (112834 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 15:01
Venerdì, 25/05/2018
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

  1. foreach (Control item in groupBoxOutput.Controls)
  2.             {
  3.                 if(item is CheckBox fileCheck)
  4.                 {
  5.                     if (fileCheck.Enabled)
  6.                     {
  7.                        // funzione salva file
  8.                       salva_File(miofile,filecheck.Tag);
  9.                                              
  10.                     }
  11.                 }
  12.             }



passi alla funzione il tuo "file" e l'estensione corrispondente


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
Mikelius (Member)
Expert


Messaggi: 525
Iscritto: 14/04/2017

Segnala al moderatore
Postato alle 16:29
Venerdì, 25/05/2018
ci avevo pensato, ma ogni checkBox è legata ad una funzione differente, non ad un solo parametro

PM Quote
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 16:52
Venerdì, 25/05/2018
Testo quotato

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

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:44
Venerdì, 25/05/2018
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.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Pagine: [ 1 2 3 4 5 ] Precedente | Prossimo