Programare pe intelesul tuturor
Bine ati venit pe forum.
|
Nou pe simpatie: deeazuzu82 pe Simpatie
 | Femeie 24 ani Cluj cauta Barbat 27 - 62 ani |
|
|
Programare pe intelesul tuturorInregistrareLoginPozeNu sunteti logat. Lista Forumurilor Pe Tematici
|
| #1 |
noir2501C# programmerDin: Ploiesti
Postari: 4
|
|
hehe, mereu am vrut sa fac drag and drop. un exemplu simplu intre doua liste (ListView) iata un exemplu ce muta stringuri dintr-o lista in alta. Poate intereseaza pe cineva... sau macar sa va faceti o parere cat de usor e
so... avem o forma si 2 liste : sursa -> ListS si destinatia ListD
Code:
private System.Windows.Forms.ListView listD;
private System.Windows.Forms.ListView listS; |
procedeul are 3 pasi:
- copiem obiectul din sursa - punem obiectl in destinatie - daca am reusit, il eliminam din sursa
1. cand se apasa mouse-ul citim itemul selectat din lista si apelam funtia DoDragDrop()
Code:
private void listS_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (listS.Items.Count < 1) return;
ListViewItem item = listS.GetItemAt(e.X,e.Y);
if (item == null) return;
DragDropEffects ddel = DoDragDrop(item.Text, DragDropEffects.All);
// daca totul a fost ok, si s-a acceptat dropul de catre destinatie, se elimina itemul din sursa
if (ddel == DragDropEffects.All)
listS.Items.Remove(item);
} |
2. La tragerea deasupra destinatiei, trimitem efectul "All" pentru a sti ca totul este ok si putem continua procedura de DragDrop
Code:
private void listD_DragOver(object sender, System.Windows.Forms.DragEventArgs e)
{
e.Effect = DragDropEffects.All;
} |
3. daca totul este ok, dupa ce verificam formatul, adaugam itemul in destinatie
Code:
private void listD_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.StringFormat))
{
listD.Items.Add((string)e.Data.GetData(DataFormats.StringFormat));
}
} |
that's all. knock yourself out with drag and drop! :twisted:
_______________________________________ make a pilgrimage with me for the past (noir)
|
|
| |
|