private void OnDragOver(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;
            string str = e.Data.GetData(typeof(String)) as String;

            SizeF size;
            Font  f = new Font("Segoe UI", 10, FontStyle.Regular);

            using (Bitmap tmpBmp = new Bitmap(1, 1))
                using (Graphics g = Graphics.FromImage(tmpBmp))
                    size = g.MeasureString(str, f);

            size.Height += 4;
            size.Width  += 4;

            Bitmap bitmap = new Bitmap((int)Math.Ceiling(size.Width),
                                       (int)Math.Ceiling(size.Height));

            using (Graphics g = Graphics.FromImage(bitmap))
            {
                g.SmoothingMode     = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit;
                g.FillRectangle(SystemBrushes.Control, 0, 0, size.Width, size.Height);
                g.DrawString(str, f, SystemBrushes.ControlText, 2, 2);
                g.DrawRectangle(Pens.Black, 0, 0, size.Width - 1, size.Height - 1);
            }

            Cursor.Current = CursorUtils.CreateCursor(bitmap, 0, 0);

            bitmap.Dispose();
            f.Dispose();
        }