Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Credo sia inutile ripetere agli amici del Forum la mia quasi totale incompetenza nel programmare in VB.NET perché ho iniziato da poco ad addentrarmi nella programmazione con questo linguaggio.
Mi trovo ora nel dover utilizzare 6 RadioButton, ma non so come programmarli.
Allego a questo mio post il codice da me scritto per attivarne uno solo dei 6, purtroppo però, nessuno di questi assegna alla variabile "Periodico" ciò che dovrebbe assegnargli dopo averlo attivato.
Forse non è soltanto questo il codice, ma non so come intervenire.
Qualcuno può cortesemente aiutarmi?
Grazie infinite.
alpi39 (Alberto)
Ti ricordo che il Select Case è come un If multiplo, ma controlla sempre la variabile PERIODO. Quindi quello che gli hai detto è:
Codice sorgente - presumibilmente Plain Text
-Se Periodo è (RadioButton1.Checked=True), fai questo...
-Se Periodo è (RadioButton2.Checked=True), fai questo...
Dato che le espressioni contenenti operatori di comparazione come "=" restituiscono un valore booleano, stai trattanto Periodo, variabile stringa, come una variabile Boolean. Quindi non ti restituirà mai il valore corretto.
Ciao Overflow e ciao anche a Totem che è sempre pronto a dare una mano a chi ha bisogno di aiuto.
Ho fatto tutto come Overflow mi ha consigliato cioè:
Codice sorgente - presumibilmente VB.NET
PrivateSub RadioButton1_Click(ByVal sender AsObject, ByVal e As System.EventArgs)Handles RadioButton1.Click
Dim Periodico AsString=""
Periodico ="Bimestrale"
EndSub
PrivateSub RadioButton2_Click(ByVal sender AsObject, ByVal e As System.EventArgs)Handles RadioButton2.Click
Dim Periodico AsString=""
Periodico ="Mensile"
EndSub
PrivateSub RadioButton3_Click(ByVal sender AsObject, ByVal e As System.EventArgs)Handles RadioButton3.Click
Dim Periodico AsString=""
Periodico ="Quindicinale"
EndSub
PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles RadioButton4.Click
Dim Periodico AsString=""
Periodico ="Quattordicinale"
EndSub
PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles RadioButton5.Click
Dim Periodico AsString=""
Periodico ="Settimanale"
EndSub
PrivateSub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles RadioButton6.Click
Dim Periodico AsString=""
Periodico ="Numero Unico"
EndSub
ma non ottengo nessun risultato.
Ho provato, come puoi vedere, anche ad inserire Dim Periodico As String = "" in ogni Private Sub perché anche se lo mettevo in testa a tutte come consigliato da Overflow il risultato era o stesso ossia, non terminando il Debug e avvicinando il mouse alla parola Periodico la risposta era sempre questa "Dim Periodico As String" la variabile Periodico non assumeva nessun valore.
D'altra parte Totem, prima di cimentarmi con questi RadioButtons, sono andato a consultare la tua guida dove fai vedere con un'illustrazone cos'è un RadioButton, ma non c'è nessun esempio di come attivarlo. Ho anche letto tutti i titoli di tutte le 47 pagine del Forum nella speranza di trovare un Topic che potesse aiutarmi, ma non ho trovato nulla.
Ora mi trovo allo stesso punto di prima.
Non so come far assumere alla variabile Periodico un valore.
Grazie comunque per il vostro intervento (il tuo e quello di Overflow)
alpi39 (Alberto)
Ultima modifica effettuata da alpi39 il 12/08/2008 alle 15:29
Cerchi la cosa sbagliata: i radiobutton funzionano perfettamente, è il codice che ci metti dentro che è errato!
Overflow ti ha scritto chiaramente il codice, ma tu l'hai modificato. E' ovvio che se dichiari Periodico DENTRO la Sub, la variabile Periodico verrà DISTRUTTA subito dopo il click, e non otterrai niente. E' scritto chiaramente nel capitolo A18:
Testo quotato
La variabile B è dichiarata, come si vede, all'interno della procedura: ciò significa che esiste solamente nel corpo della procedura stessa e non è in alcun modo accessibile al di fuori di essa. Prova ne è il fatto che una volta eseguito il corpo del metodo, la variabile viene cancellata e liberata la parte di memoria che occupa. Variabili di questo tipo vengono definite locali o temporanee.
ma no... Periodico va dichiarata in generale all'inizio, in modo tale da essere visibile a tutto il modulo:
Public Class Form1
Dim Periodico As String 'va dichiarata qui all'inizio
Private Sub RadioButton2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton2.Click
'RadioButton1.Checked = False
'imposti tutti gli altri radiobutton.checked =false
Periodico = "Mensile"
MsgBox(Periodico)
End Sub
Private Sub RadioButton1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles RadioButton1.Click
'RadioButton2.Checked = False
'imposti tutti gli altri radiobutton.checked =false
Periodico = "Bimestrale"
MsgBox(Periodico)
End Sub
End Class
con questo esempio potrai vedere il valore della variabile Periodico, quando abiliti un radiobutton(solo radiobutton1 e 2 in questo caso).
Grazie, Overflow
Il tuo esempio mi ha chiarito le idee ed ho fatto tutto sulla base del tuo esempio e, ovviamente, tutto funziona alla perfezione.
Grazie di nuovo.
Cerchi la cosa sbagliata: i radiobutton funzionano perfettamente, è il codice che ci metti dentro che è errato!
Overflow ti ha scritto chiaramente il codice, ma tu l'hai modificato. E' ovvio che se dichiari Periodico DENTRO la Sub, la variabile Periodico verrà DISTRUTTA subito dopo il click, e non otterrai niente. E' scritto chiaramente nel capitolo A18:
Testo quotato
La variabile B è dichiarata, come si vede, all'interno della procedura: ciò significa che esiste solamente nel corpo della procedura stessa e non è in alcun modo accessibile al di fuori di essa. Prova ne è il fatto che una volta eseguito il corpo del metodo, la variabile viene cancellata e liberata la parte di memoria che occupa. Variabili di questo tipo vengono definite locali o temporanee.
Vedi, Totem ho dichiarato in più di una occasione la mia grande incompetenza nel linguaggio VB.NET ciononostante so e sapevo che in gruppo di radio bottoni soltanto uno sarà attivato (questo era ed è valido anche nel Future Basic che io ho sul mio computer Machintosh a Roma). Ciò che non conoscevo erano le istruzioni da inserire nel codice VB e grazie a Overflow, ora ho appreso anche questo.
D'altra parte prima di rivolgermi al Forum, ho cercato nella tua guida, qui su questo sito, e anche sulla nuova guida da te redatta e messa su internet in formato Pdf (che ho salvato sul mio HD) per poterla consultare ogni qualvolta ne abbia bisogno. Però, come già ti ho scritto in precedenza, fatta eccezione per le spiegazioni di cosa è uno CheckBox o un RadioButton non ci sono istruzioni per come attivarli.
Adesso, ho cercato il "capitolo A18", senza risultato.
I capitoli sono tutti numerati con soli numeri.
Potresti, per favore, indicarmi la pagina dove poter trovare il "capitolo A18"?
Ti ringrazio comunque per il tuo intervento sempre pronto e sono certo di poterti leggere in un prossimo futuro perché sono molte le cose che debbo e vorrei imparare.
Ringrazio ancora una volta, e infinitamente Overflow per l'aiuto accordatomi.
alpi39(Alberto)
Ultima modifica effettuata da alpi39 il 15/08/2008 alle 17:34
Vedi, non posso spiegare ed esemplificare ogni singolo membro di ogni singola classe di ogni namespace esistente. Devo selezionare le cose più importanti e foaclizzarmi su quelle, e limitarmi, invece, a descrivere le altre.
Se dessi un'occhiata al capitolo B5, vedresti che nell'elenco di proprietà di CheckBox c'è:
Testo quotato
Checked : indica se la checkbox è spuntata oppure no
seguita da un'immagine in cui si vede la CheckBox spuntata e il testo "Checked = True", e per RadioButton, poco più sotto: "Gode di tutte le proprietà di CheckBox".
Ma a me non sembra che tu non abbia capito come usare RadioButton (come pensi tu). A me sembra che tu non abbia capito Select Case, che è un altro discorso.
Infine, come puoi vedere alla pagina:
http://totem.altervista.org/guida/versione2/index.php Ogni "numero", come dici tu, è accompagnato da un titolo e suddiviso in una delle cinque sezioni principali. Forse ti eri dimenticato di guardare sul mio sito.
Ultima modifica effettuata da Il Totem il 15/08/2008 alle 19:10