Combobox

martedì 30 luglio 2013 - 22.37

Alexia8520 Profilo | Newbie

Buona sera a Tutti/e
Premessa: spero di farmi capire alla prima
Linguagio: vb2010.
Sto facendo un programmino per un ricettario da cucina. dove ho 5 comobox
Antipasto
Primi
secondi
contorni
frutta
e per popolare tutte le combobox ho 5 radiobutton con i relativi nomi...
ora io per popolare le combobox volevo fare cosi

sub antipasti()
text = "salame"
text = "Prosciutto"
end sub

sub Primi ()
text = "Penne"
text = "lasagne"
end sub etc etc
'chiaro con una lista lunhissima dentro a tutte le sub

'ora "vorrei" passare il comando al radiobutton cosi
if radiobutton2.checked = true
combobox1
combobox2
etc etc

Come diamine si puo fare per richiamare le sub per popolare le combobox a secondo del radiobutton.checked??

if radiobutton1.checked = true
combobox1.addItem (Antipasti)
combobox2.addItem (Antipasti)

end if

if radiobutton2.checked = true
combobox1.addItem (Primi)
combobox2.addItem (Primi)
end if
Premetto non ho trovato nulla sul web... o per lo meno io non ho letto fra le righe se ce ne fossero state..
Vi rinrazio anticipatamente













AntCiar Profilo | Expert

Ciao.

Devo dirti che non ho ben capito il comportamento che deve avere la tua app. Soprattutto non riesco a capire a cosa servono le radiobutton e come queste si relazionino con le combobox.


per dare una risposta alla tua domanda

"Come diamine si puo fare per richiamare le sub per popolare le combobox a secondo del radiobutton.checked??"

se hai più radiobutton invece di generare un evento CheckedChange per ogni combo e mettere ripetutamente il codice in ogni evento, puoi generare un unico evento per tutte le radioButton.
Per fare cio basta fare questo:

1 - Selezionare in progettazione della form tutte le radiobutton contemporaneamente.
2 - Nel riquadro delle Proprietà / Eventi generare l'evento CheckedChange
3 - All'interno dell'evento appena generato utilizzare l'oggetto "sender" per capire quale è la radiobutton che scatena l'evento.
Per controllarla puoi basarti ad esempio sul nome della radiobutton. Puoi fare un questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra


In questo modo con un unico blocco di codice riesci a controllare tutto senza dover replicare codice inutilmente.

Poi come detto prima non ho ben chiaro la situazione. Spiega meglio in modo esaustivo come deve comportarsi la tua applicazione senza considerare quello che hai fatto (solo in modo descrittivo) in modo da poter ottimizzare un po tutto.

PS. se usi il codice che ho postato potrebbe darti errore perchè l'ho scritto a getto sul forum.

Cristian Barca

Alexia8520 Profilo | Newbie

Grazie AntCiar per aver risposto...
ora cerchero di spegarmi meglio...
non e che non riseco a gestire i Rbutton....
nel Rbuttoon ho RButton1 tutti li antipasti il Rbutton2 tutti i primi piatti Rbutton3 tutti i secondi e cosi via...
ora "volevo" che alla scelta del Rbutton1 tutte combobox si popolassero con gli antipasti.. se clicco il Rbutton2 tutti i primi piatti e se clicco il Rbutton3 con tutti i secondi e cosi via...
If RadioButton1.Checked = True Then
ComboBox1.DataSource = cucinaBindingSource
ComboBox1.DisplayMember = ("Antipasti")
ComboBox2.DataSource = cucinaBindingSource
ComboBox2.DisplayMember = ("Antipasti")
e cosi via...
End If
ma pensavo si potesse fare anche da codice usando una semplice SUB come descritto sopra...
e poi farne uso dai radiobutton
Cioé: if radiobutton1.checked = true
combobox1 combobox2 combobox3 combobox4 combobox5 usate la sub "Antipasti"
se radiobutton2 è checked usate la Sub "Primipiatti"
if Rbutton3.checked = true Usate la Sub "Secondi"
spero di essermi spiegata bene xche non so come altro fare....
Mille Grazie AntCiar e un razie a Tutto il Forum...

AntCiar Profilo | Expert

ciao

>.... ma pensavo si potesse fare anche da codice usando una semplice

Certo che si può fare.
In allegato ti ho messo un piccolo esempio.

Ciao ciao e .... buon Appetito!!!
Cristian Barca

Alexia8520 Profilo | Newbie

Che dire????
Mille Grazie AntCiar..... sei stato Gentilissimo...
ora mi ci metto dietro e vedo di farne tesoro.....
in un altro forum mi hanno bacchettato dicendo che non si poteva fare.. etc etc....
Sei un Grande [:-)]....
ho visto una cosa xo... che ogni volta che cambio il Rbutton mi cambia di nuovo la scritta nella combo.. io invece una volta scelta la portata "voglio" che resta quella scelta da me fatta.. ma semmai ci metto una textbox sopra in modo:
Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles s1.SelectedIndexChanged
textbox1.text = combobox1.text
End Sub
in modo che una volta che cambio checked al R.Button la text rimane come ho scelto...
il motivo è perchE ho bisogno che poi rimanga la mia scelta altrimenti non posso vederecosa il menu...
Comunque sei stato un Grande..
di nuovo Mille Grazie....

AntCiar Profilo | Expert

>Che dire????
>Mille Grazie AntCiar..... sei stato Gentilissimo...

di niente.

>ora mi ci metto dietro e vedo di farne tesoro.....
>in un altro forum mi hanno bacchettato dicendo che non si poteva
>fare.. etc etc....
>Sei un Grande [:-)]....


>ho visto una cosa xo... che ogni volta che cambio il Rbutton
>mi cambia di nuovo la scritta nella combo.. io invece una volta
>scelta la portata "voglio" che resta quella scelta da me fatta..
>ma semmai ci metto una textbox sopra in modo:

Su questo punto concettualmente non riesco a capire bene come deve funzionare la tua form. E' normale che ti si cancelli la selezione perchè in pratica gli vai a sostituire la sorgente dati.
Nel precedente messaggio non ti ho chiesto infatti il perchè hai creato 5 combobox che poi alla fine riempi con gli stessi dati (come valore).
Con la struttura che hai fatto posso ipotizzare questi due modi d'uso:

1 - per ogni portata (Antipasto, Primo, Secondo, Contorno, Frutta...) puoi associare da 1 a 5 pietanze diverse. Questo per creare ad esempio il Menù "Sorrento" in cui hai Primi: spaghetti allo scoglio, paccheri all'astice; Secondi: Grigliata mista di mare, etc... Se è questo che vuoi allora basta mettere nella form un tasto che Memorizzi le scelte fatte e te le riproponga quando serve. (ti rimando il progetto aggiornato con un esempio pratico)

2 - Vuoi creare un menu in cui definire per ogni portata una sola pietanza. Se è questo allora concettualmente è sbagliato quello che abbiamo fatto. Ti servono 5 combo ma le devi caricare indicando campi diversi al DisplayMember

Cristian Barca

AntCiar Profilo | Expert

in allegato l'esempio
Cristian Barca

Alexia8520 Profilo | Newbie

Cavoliiiiii.... ma non avevo visto che mi avevi fatto la modifica
mi sono diretta sul sito perché avevo un altro problemino da risolvere e ho visto per caso l'allegato lo terro per la prossima volta..
Ti Ringrazio di cuore AntCiar....
sei stato meraviglioso....
G.R.A.Z.I.E.
ora Vi chiedo unaltra cosa su di un altro thread...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5