C# Daten aus Listbox kopieren (copy & paste)

Hallo,

ich habe mir ein kleines Programm erstellt das mir eine Datenbankabfrage macht und das Ergebnis in einer Listbox zur Verfügung stellt.
Nun kann ich mir das Ergebnis allerdings nur anschauen und markieren, aber nicht KOPIEREN und es zum Beispiel in ein Office - Dokument einfügen. Was mache ich falsch?
Wo muss ich einen Haken setzten?
Oder sollte ich anstelle einer Listbox lieber etwas anderes benutzen?

Ich arbeite mit VisualStudio 2008 Express und C#.

Danke für Infos.

Gruß
Karsten

Hi,
es geht ganz einfach, du musst nur die werte aus der ListBox auf das Clipboard kopieren oder du speicherst die Werte in einer Textdatei.
Lg Knerd

Hallo Knerd,

diese Möglichkeit ist mir bekannt.
Es gibt aber, da bin ich mir sicher, die Möglichkeit aus der Anzeige die Daten direkt zu kopieren.
Wenn ich eine 08/15 Windows - Anwendung mit einem Meldungsfenster habe kann ich den Text markieren und mit [Strg]-[C] kopieren.
-> das geht bei mir nicht, WARUM?
Warum ich das so machen will: ich benötige nicht unbedingt immer alle Infos der Abfrage.

Wenn Du mir sagst anstatt listbox wasimmer, auch kein Problem.

Danke für weitere Infos.
Gruß
Karsten

Hi,
diese 08/15 Anwendungen haben das gemacht, was du auch tun musst.

Die fangen zB. Strg-C im KeyDown event ab und benutzen die „System.Windows.Forms.Clipboard“ Klasse um deine Daten in die Zwischenablage zu kopieren.

Nicht alle Steuerelemente unterstützen die Zwischenablage von Haus aus.
Aber man kann es ihnen als Softwareentwickler beibringen.

Gruss
Joey

Hallo Joey,

wie funktioniert das mit den Events genau?
Leider fange ich erst mit der Programmierung an (außer GW/Q-Basic und VBA noch nichts gemacht).

Was ist der richtige Event für Strg + C?

Danke.

Hi,
in dem KeyDown-Ereignis der Listbox die Daten ins Clipboard kopieren.
zB. so:

private void MeineListBox\_KeyDown(object sender, KeyEventArgs e)
{
 if (e.Control && e.KeyCode == Keys.C && MeineListBox.SelectedItems.Count == 1)
 {
 Clipboard.Clear();
 Clipboard.SetDataObject(MeineListBox.SelectedItem.ToString());
 }

}

wenn mehr als ein Wert in der Listbox selektiert wird, dann must du die SelectedItems-Auflistung durchlaufen und kopieren.

Gruss
Joey