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(); }