7
public class DragDrop: VBox
12
HBox box = new HBox ();
14
SimpleBox b1 = new SimpleBox (30);
15
box.PackStart (b1, BoxMode.None);
17
b2 = new Button ("Drop here");
18
box.PackEnd (b2, BoxMode.None);
20
b1.ButtonPressed += delegate {
21
var d = b1.CreateDragOperation ();
22
d.Data.AddValue ("Hola");
23
var img = Image.FromResource (GetType(), "class.png");
24
d.SetDragImage (img, (int)img.Size.Width, (int)img.Size.Height);
25
d.AllowedActions = DragDropAction.All;
29
b2.SetDragDropTarget (TransferDataType.Text, TransferDataType.Uri);
32
b2.DragDrop += HandleB2DragDrop;
33
b2.DragOver += HandleB2DragOver;
36
void HandleB2DragOver (object sender, DragOverEventArgs e)
38
if (e.Action == DragDropAction.All)
39
e.AllowedAction = DragDropAction.Move;
41
e.AllowedAction = e.Action;
44
void HandleB2DragDrop (object sender, DragEventArgs e)
46
Console.WriteLine ("Dropped! " + e.Action);
47
Console.WriteLine ("Text: " + e.Data.GetValue (TransferDataType.Text));
48
Console.WriteLine ("Uris:");
49
foreach (var u in e.Data.Uris)
50
Console.WriteLine ("u:" + u);
52
b2.Label = "Dropped!";