|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
[C#] Problema associazione evento a items
Come da titolo, non riesco ad associare un evento agli items in una listbox.. Gli items vengono aggiunti a runtime e io vorrei che facendo doppio click su ognuno di essi si aprisse un'altra form che contenga ad esempio una casella di testo (ma quet'ultimo non è importante).
Sono 2 giorni che provo ma non ho trovato nemmeno niente in rete, addirittura sto pensando che non si possa nemmeno fare, ma mi pare strano.. Qualcuno sa darmi delucidazioni in merito? Grazie 1000.. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
MA perchè a me non risponde mai nessuno...
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
Sicuramente ci saranno modi migliori per farlo, io però farei così:
Codice:
private void ListItemDoubleClick()
{
int index = tuo_ListBox.SelectedIndex;
switch(index)
{
case 0:
tuoNuovoForm form = new tuoNuovoForm();
form.Show();
break;
case 1:
tuoAltroForm altroForm = new tuoAltroForm();
altroForm.Show();
break;
//e questo per quanti items hai nella listbox ricordandoti che
// partono da zero.
default:
MessageBox.Show("Non hai selezionato nessun item");
break;
}
}
//poi, dal windows designer seleziona il listbox e vai negli eventi e fai
//doppio click sull'evento DoubleClick; ti si apre la schermata del codice
//dove trovi:
private void listBox1_DoubleClick(object sender, EventArgs e)
{
// e qui ci piazziamo:
ListBoxItemDoubleClick();
}
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
Grazie, lo provo subito e vedo se funziona.. l'unico problema è che io in questo modo dovrei creare tanti case quanti sono gli item, ma io gli item non lo so quanti sono perchè possono essere anche infiniti dato che vengono aggiunti a runtime.. ci vorrebbe quindi una sotra di ciclo for o meglio un array indefinito.. Cmq al momento attuo la tua soluzione per smuovere un po' le acque..
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
Confermo che funziona benissimo
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2002
Città: Rimini
Messaggi: 1203
|
c'e' sempre tuo_listbox.SelectedItem che ti puo' venire incontro per sapere COSA c'e' nell'item selezionato
__________________
Quale parte di NO non hai capito? | MBP Retina Late 2013 - iPhone 6 64GB - iPad Air 64GB Fiero membro del BOFH club (Bastard Operators From Hell) |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
Quote:
Al momento riesco a farlo però mi aggiunge nuovamente in fondo alla lista lo stesso item selezionato con a fianco la seconda parte di testo aggiunta, mentre io vorrei scriverlo a fianco dell'item selezionato stesso.. |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
SOno riuscito per metà...
In pratica scrivendo: mylistbox.SelectedItem = mylistbox.Items.Add(mylistbox.SelectedItem + " - " + mystring); ..mi aggiunge un nuovo item mentre io vorrei che fosse sostituito a quello selezionato o che fosse aggiunta solo la seconda parte a quello selezionato (" - " + mystring) Ho provato a lavorare sulla proprità Text e su Replace ma non ho ottenuto niente di funzionate... avete dei suggerimenti? |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Codice:
lista.SelectedItem.Text = lista.SelectedItem.Text + " - " + mystring; |
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
Ups avevo confuso ListBox con DropDownList
![]() comunque: Codice:
void listBox1_DoubleClick(object sender, System.EventArgs e)
{
this.mylistbox.Items[this.mylistbox.SelectedIndex] = this.mylistbox.SelectedItem.ToString() + " - " + mystring;
}
|
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
Grazie, ero riuscito ieri a risolvere con 3 righe di codice, mentre vedo che te lo hai fatto con un solo passaggio.. provo anche questo allora, grazie 1000..
|
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 706
|
Ottimo, funziona perfettamente il tuo... credo che lo sostituirò al mio..
1 riga is megl che 3.. Thx a lot.. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:09.












1 riga is megl che 3..







