-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDeleteItemSlot.cs
43 lines (36 loc) · 930 Bytes
/
DeleteItemSlot.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Drawing;
using System.Windows.Forms;
namespace Minecraft_PS3_Save_Tool
{
public class DeleteItemSlot : ItemSlot
{
Image enabled;
Image disabled;
public event Action<ItemSlot> DeleteDone = delegate { };
public DeleteItemSlot(Image enabled, Image disabled) : base(0xFF)
{
this.enabled = enabled;
this.disabled = disabled;
Enabled = false;
DragBegin += delegate { Enabled = true; Refresh(); };
DragEnd += delegate { Enabled = false; Refresh(); };
}
protected override void OnEnabledChanged(EventArgs e)
{
base.OnEnabledChanged(e);
Default = Enabled ? enabled : disabled;
}
protected override void OnDragOver(DragEventArgs e)
{
base.OnDragOver(e);
if (e.Effect != DragDropEffects.Move)
e.Effect = DragDropEffects.Move;
}
protected override void OnDragDrop(DragEventArgs e)
{
other = null;
DeleteDone(this);
}
}
}