PDA

View Full Version : [C#] Intercettare il clic (singolo o doppio) su icona di una ListView...è possibile?


alexca82
24-10-2005, 13:09
ciao a tutti,
per motivi universitari mi sono avvicinato al mondo di C# e con la mia metodologia try & error :D ho risolto molti problemi...al momento sono bloccato su questo: da specifiche mi viene richiesta una ListView in view-mode "Dettagli" e che in questa lista, insieme ai nomi degli elementi, sia disponibile un'icona su cui fare doppio-clic per eliminare l'elemento... esiste un evento del genere o devo trovare un escamotage o cambiare le specifiche?

grazie
bye

Aines
24-10-2005, 14:30
Gli items di un controllo listView hanno un testo ed una icona (e il testo dei subitems se ci sono); ma questa icona ha solo una funzione descrittiva (ad esempio l'icona di un documento .doc o .pdf nell'explorer di windows), non si può associare l'evento double click ad essa (non che io sappia...).

L'evento può essere però associato a tutto il list view, facendogli cancellare l'item che hai selezionato facendoci doppio click sopra.

public class Form1 : Form
{
public Form1()
{
// ...

listView1.DoubleClick +=new EventHandler(listView1_DoubleClick);
}

private void listView1_DoubleClick(object sender, EventArgs e)
{
// a chiedere non si sbaglia mai...
if(MessageBox.Show("Eliminare l'oggetto?", "Avviso", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
listView1.Items.Remove(listView1.SelectedItems[0]);
}
}


// ...

}

alexca82
24-10-2005, 14:54
grazie mille, ma a me interessava mettere un'icona apposita per cancellare il record: la semplice selezione era già delegata a un altro scopo.
bye