WinForms
einen Event-Handler für das Control.DoubleClick
Event für Ihre ListBox
, und in diesem Ereignishandler hinzufügen MessageBox
Anzeige des ausgewählten Elements öffnen.
Z. B .:
private void ListBox1_DoubleClick(object sender, EventArgs e)
{
if (ListBox1.SelectedItem != null)
{
MessageBox.Show(ListBox1.SelectedItem.ToString());
}
}
Wo ListBox1
der Name Ihres ListBox
ist.
Beachten Sie, dass Sie den Event-Handler wie folgt zuordnen würde:
ListBox1.DoubleClick += new EventHandler(ListBox1_DoubleClick);
WPF
ziemlich das gleiche wie oben, aber Sie würden die MouseDoubleClick
event statt:
ListBox1.MouseDoubleClick += new RoutedEventHandler(ListBox1_MouseDoubleClick);
Und der Event-Handler:
private void ListBox1_MouseDoubleClick(object sender, RoutedEventArgs e)
{
if (ListBox1.SelectedItem != null)
{
MessageBox.Show(ListBox1.SelectedItem.ToString());
}
}
Edit: Sisya's answer überprüft, ob der Doppelklick auf ein Element aufgetreten, die in diesen Code eingebaut werden müßte, die Frage in den Kommentaren erwähnt zu beheben (MessageBox angezeigt, wenn ListBox doppelgeklickt während ein Artikel ausgewählt ist, aber nicht auf einen Artikel geklickt wurde).
Hoffe, das hilft!
'e.Location'!?!?!? Sind Sie sicher, gibt es diese Methode? Visual Studio schlug mir diese Methode nicht durch Strg + Leerzeichen! –
@Milas: Ich war durch das gleiche Problem ratlos. Stellen Sie sicher, dass Sie das MouseDoubleClick-Ereignis (und daher MouseEventArgs) und NICHT DoubleClick (das nur EventArgs enthält) verwenden. – winwaed
Warum nicht lieber 'SelectedItem' verwenden? – Jack